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でワークスペースを作成

2.クラウドIDEでデモをビルド

IDEの下の方にある「bash」ビューで以下のコマンドを実行する

  • package.jsonで定義されたパッケージのインストー
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