ロカラボは日本のモノづくりを全力で応援する会社です

メイドインジャパンを盛り上げる

・AI/IoT/RPAの導入支援
・地に足のついたムダのない適切な技術活用
・大手にはできない柔軟性と親身な対応

御社の価値を最大限に引き出し一緒に成果を出していく一歩を踏み出しませんか?

詳細はこちら

Googleの深層学習ライブラリ「deeplearn.js」を始めよう(翻訳)

Googleの深層学習ライブラリ「deeplearn.js」を始めよう AI・機械学習・ディープラーニング
Googleの深層学習ライブラリ「deeplearn.js」を始めよう

本記事は、deeplearn.jsのサイトのトップページを翻訳(適宜意訳)したものです。誤り等あればご指摘いただけたら幸いです。

deeplearn.jsを始めよう

deeplearn.jsはGoogleより提供されているオープンソースの深層学習ライブラリです。ブラウザ上でモデルの学習や、訓練されたモデルを推論モードで実行することができます。

immediate execution modelとTensorFlow APIをモニターするdeferred execution modelの2つのAPIを提供します。

deeplearn.jsはもともとGoogle Brain PAIRチームが開発した強力なインタラクティブな機械学習ツールです。教育やモデルの理解、芸術プロジェクトなど、様々な分野でライブラリを利用することができます。

使い方

Javascriptの場合

typescriptが、deeplearn.jsで使用するのに適した言語ですが、プレーンJavaScriptでも使用できます。

この使用例では、Google CDNから直接ライブラリの最新バージョンを読み込むことができます:

<script src="https://storage.googleapis.com/learnjs-data/deeplearn.js"></script>

別のバージョンを使用するには、GitHubのリリースページを参照してください。

Typescriptの場合

ソースからdeeplearn.jsをビルドするには、プロジェクトをクローンしてdev環境を準備する必要があります。

$ git clone https://github.com/PAIR-code/deeplearnjs.git
$ cd deeplearnjs
$ npm run prep # Installs node modules and bower components.

<script>タグを使用してブラウザで直接使用できるスタンドアロンライブラリを構築するには、

$ ./scripts/build-standalone.sh # Builds standalone library.
>> Stored standalone library at dist/deeplearn.js

ノードのpackage/es6モジュールを構築するには、

$ ./scripts/build-npm.sh # Builds npm package.
>> Stored npm package at dist/deeplearn-VERSION.tgz

対話形式でデモを開発するには、(例: demos/nn-art/

$ ./scripts/watch-demo demos/nn-art/nn-art.ts
>> Starting up http-server, serving ./
>> Available on:
>>   http://127.0.0.1:8080
>> Hit CTRL-C to stop the server
>> 1357589 bytes written to dist/demos/nn-art/bundle.js (0.85 seconds) at 10:34:45 AM

次に、http://localhost:8080/demos/nn-art/nn-art-demo.htmlにアクセスしてください。watch-demoスクリプトは、typescriptコードの変更を監視し、インクリメンタルコンパイル(約200〜400ms)するため、ユーザーはdeeplearn.jsを使用してアプリケーションを開発するときに、迅速な編集-更新が可能になります。

すべてのテストを実行するには、

$ npm run test

プルリクエストを送信する前に、コードにlintエラーがないことを確認してください。

$ npm run lint

サポートされる環境

deeplearn.jsは、OES_texture_float拡張子を持つWebGL 1.0デバイスと、WebGL 2.0デバイスをサポートします。WebGLのないプラットフォームでは、CPUのフォールバックを提供します。

しかし、現在のところ、デモはMobile、Firefox、Safariをサポートしていません。現在はデスクトップChromeでご確認ください。より多くのデバイスをサポートするよう進めています。