LoginSignup
2
3

More than 3 years have passed since last update.

Tensorflow.jsをNodejsで高速化しようとしたが、旧型CPUでは、WebGLの方が高速だった話

Last updated at Posted at 2020-06-16

Tensorflowjsで2000年からの株価を元に、新値3本値のAI予測をブラウザで行っていたが、Nodejsで高速化できないかトライしてみた。CPUは激古のi5-650。

作業手順は、こちら参照。
https://randomwalkjapan.blogspot.com/2020/06/nodejstensorflow-how-to-setup.html

プログラムはこちら。
https://github.com/tanakayutaka/Tensorflow.js-tools-/blob/master/Nodejs%20Tensorflow%20BM%20test

結論は、

NodejsでNodeジェネリックでないTensorflow処理 6分
NodejsでNodeジェネリックなTensorflow処理 CPUが古すぎて動作せず

ChromeでハードウエアアクセラレーションON 4分 <== 最速
ChromeでハードウエアアクセラレーションOFF 12分

ということで、最近のCPUを持っていない限り、Tensorflowをジェネリックで走らせることはできず、ただWebGLを使った方が早いという結論でした。どのくらい最近のCPUから対応するのかは不明です。

ただ、最新のCPUだと、tfjs-nodeと、tfjs-node-gpuが準備されていて、これだとWebGLを凌ぐ速度がでるのでは、と思います。

なお、今のまま走らすと、次のコメントがコンソールに出力されてかわいいです。

============================

Hi there �. Looks like you are running TensorFlow.js in Node.js. To speed things up dramatically, install our node backend, which binds to TensorFlow C++, by running npm i @tensorflow/tfjs-node, or npm i @tensorflow/tfjs-node-gpu if you have CUDA. Then call require('@tensorflow/tfjs-node'); (-gpu suffix for CUDA) at the start of your program. Visit https://github.com/tensorflow/tfjs-node for more details.

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3