Cloud9のNode.js環境でkeras-jsのデモをビルドする
※Node.jsの基礎知識があれば特別な操作は必要ないです。
Nodeは初心者でビルドの仕方がわからなかったので、備忘として残します。
概要
keras-jsはブラウザ上でkerasモデル(ニューラルネットモデル)を実行できるライブラリ、GPUも利用できる。 GitHub - transcranial/keras-js: Run Keras models in the browser, with GPU support
keras-jsの公式デモはNode環境でビルドする必要があるが、自前PCにNodeをインストールするのがめんどくさい。 でもCloud9のNode環境なら自前PCの環境を汚すことがないし、IDEも使いやすい。
手順
1. Cloud9でワークスペースを作成
- 「https://c9.io/」へアクセス
- 新しいワークスペースを作成
- 以下のように設定する
- 「Clone from Git or Mercurial URL (optional)」に「https://github.com/transcranial/keras-js」を指定
- 「Choose a template」に「Node.js」を指定
2.クラウドIDEでデモをビルド
IDEの下の方にある「bash」ビューで以下のコマンドを実行する
npm install
- demosフォルダ内のソースコードをビルド
- package.jsonの"scripts"にdemoのビルド用コマンドが記述されている。これを実行するのが↓のコマンド。
- ビルドにはwebpackを利用している。demos/webpack.config.jsの情報を参照してビルドし、demos/dist/bundle.jsに結果を出力する。
- ビルドに14秒ほどかかる
npm run demos:build
3.demoをビルドできたか確認
- IDEの左のほうにあるワークスペースビューからindex.htmlを右クリック→Runを選択
- Apache httpdが起動した旨が、IDEの下のほうのビューに表示される。指示に従って「https://(ワークスペース名)-(Cloud9アカウント名).c9users.io/index.html」へアクセス
- 公式のデモページ「https://transcranial.github.io/keras-js/」と同じ内容なら成功
- ビルドに失敗していると、index.htmlにアクセスできても各種kerasデモサンプルが動作しない。
蛇足
demoをビルドする際に、developモードかproductionモードを指定できる。
それぞれのモードでkerasモデルの参照先が異なる。
webpackを引数なしで実行するとdevelopモードでビルドしてしまい、kerasモデルがリンク先に存在せずdemoが動作しない。
productionモードでビルドすると、↓のリポジトリからモデルを読み込むので正常に動作する。
GitHub - transcranial/keras-js-demos-data: Keras.js demos data