はじめに
クライアントに極力負担をかけたくない!
サーバで学習も推論もするんだ!JavaScriptすき!!
そんなとき、Node.js上でTensorFlow.jsを動かしたいと考え、環境構築をしたとき、思ったほどめんどくさかったのでメモ!!
前提条件
- Node.jsがインストールされていること
- OSがWindows7以上であること
構築
手順
1. node-gyp
のインストール
2. tfjs-node
のインストール
簡単そう...
node-gypの導入
node-gyp
とは?
node-gypNode.js用のネイティブアドオンモジュールをコンパイルするためのNode.jsで記述されたクロスプラットフォームコマンドラインツールです
node-gyp
横文字ばっかりでさっぱり。
要するに他の言語で書かれたモジュールとかをNode.jsで使えるようにビルドするぜってことみたい。
Pyhton2.7 と C++ビルドツールが入っていないと動作してくれないので、まずそいつらからインストールしていく
PowerShellを管理者権限で実行し、以下のコマンドを打ち込む。
※windows7を使っている人は.NET Framework 4.5.1
が必要だぞ
npm install --global --production windows-build-tools
こいつはすげえ。ビルドツールとPyhton2.7を一緒に入れてくれる代物!!最高だ!!
windows-build-tools
そしてnode-gyp
をグローバルインストール!
npm -g install node-gyp
オワリ!!!
tfjs-nodeの導入
tfjs-node
とは?
このリポジトリは、Node.jsランタイムの下でバックエンドJavaScriptアプリケーションでネイティブTensorFlow実行を提供し、内部のTensorFlow Cバイナリによって加速されます。TensorFlow.jsと同じAPIを提供します。
tfjs-node
Node.jsでTensorFlow.jsを使いたいならtfjs-node
入れろ!てことだ。
CPU版
npm install @tensorflow/tfjs-node
GPU版
npm install @tensorflow/tfjs-node-gpu
これでオワリ!!!
実行するときは
//CPU版import*astffrom'@tensorflow/tfjs-node';//GPU版import*astffrom'@tensorflow/tfjs-node-gpu';
を書いてから実行!
最後に
私はこの作業でエラーに悩まされました。
こうして書いてみると意外に単純な作業だったんだなって思います。
悩まされた原因の一つとして、英語の文献を適当に読んでいたからだと思います。
反省してます。これからはちゃんと隅々まで読みます。
英語圏の人として生まれたかったぞ
多分ほとんどのエンジニアは一度はそう思ったことがあるはずだ