TensorFlow.js は、機械学習モデルのトレーニングとデプロイを行うための、ハードウェア アクセラレーションを使用したオープンソースの JavaScript ライブラリです。
ブラウザで ML を開発する
柔軟で直感的な API を使用して、低レベルの JavaScript 線形代数ライブラリまたは高レベルのレイヤー API を使用してモデルを最初から構築します。
Node.js で ML を開発する
Node.js ランタイムで同じ TensorFlow.js API を使用してネイティブ TensorFlow を実行します。
既存のモデルを実行する
TensorFlow.js モデル コンバーターを使用して、既存の TensorFlow モデルをブラウザーで直接実行します。
既存のモデルを再トレーニングする
ブラウザーまたはその他のクライアント側データに接続されたセンサー データを使用して、既存の ML モデルを再トレーニングします。
このリポジトリには、複数のパッケージを結合するロジックとスクリプトが含まれています。
API:
バックエンド/プラットフォーム:
バンドルのサイズが気になる場合は、それらのパッケージを個別にインポートできます。
Node.js サポートを探している場合は、TensorFlow.js Node ディレクトリをチェックしてください。
サンプル リポジトリとチュートリアルをチェックしてください。
TensorFlow.js に関連するすべてのプロジェクトのギャラリーを必ずチェックしてください。
NPM で事前トレーニングされたモデルをホストしているモデル リポジトリも必ずチェックしてください。
JavaScript プロジェクトで TensorFlow.js を取得するには、主に 2 つの方法があります。スクリプト タグを使用する方法と、 NPM からインストールして Parcel、WebPack、Rollup などのビルド ツールを使用する方法です。
次のコードを HTML ファイルに追加します。
< html >
< head >
<!-- Load TensorFlow.js -->
< script src =" https://cdn.jsdelivr.net/npm/@tensorflow/tfjs/dist/tf.min.js " > </ script >
<!-- Place your code in the script tag below. You can also use an external .js file -->
< script >
// Notice there is no 'import' statement. 'tf' is available on the index-page
// because of the script tag above.
// Define a model for linear regression.
const model = tf . sequential ( ) ;
model . add ( tf . layers . dense ( { units : 1 , inputShape : [ 1 ] } ) ) ;
// Prepare the model for training: Specify the loss and the optimizer.
model . compile ( { loss : 'meanSquaredError' , optimizer : 'sgd' } ) ;
// Generate some synthetic data for training.
const xs = tf . tensor2d ( [ 1 , 2 , 3 , 4 ] , [ 4 , 1 ] ) ;
const ys = tf . tensor2d ( [ 1 , 3 , 5 , 7 ] , [ 4 , 1 ] ) ;
// Train the model using the data.
model . fit ( xs , ys ) . then ( ( ) => {
// Use the model to do inference on a data point the model hasn't seen before:
// Open the browser devtools to see the output
model . predict ( tf . tensor2d ( [ 5 ] , [ 1 , 1 ] ) ) . print ( ) ;
} ) ;
</ script >
</ head >
< body >
</ body >
</ html >
ブラウザでその HTML ファイルを開くと、コードが実行されるはずです。
Yarnまたはnpm を使用して TensorFlow.js をプロジェクトに追加します。注: ES2017 構文 ( import
など) を使用しているため、このワークフローは、最新のブラウザーまたはバンドラー/トランスパイラーを使用してコードを古いブラウザーが理解できるものに変換していることを前提としています。 Parcel を使用してコードを構築する方法については、例を参照してください。ただし、好みのビルド ツールを自由に使用できます。
import * as tf from '@tensorflow/tfjs' ;
// Define a model for linear regression.
const model = tf . sequential ( ) ;
model . add ( tf . layers . dense ( { units : 1 , inputShape : [ 1 ] } ) ) ;
// Prepare the model for training: Specify the loss and the optimizer.
model . compile ( { loss : 'meanSquaredError' , optimizer : 'sgd' } ) ;
// Generate some synthetic data for training.
const xs = tf . tensor2d ( [ 1 , 2 , 3 , 4 ] , [ 4 , 1 ] ) ;
const ys = tf . tensor2d ( [ 1 , 3 , 5 , 7 ] , [ 4 , 1 ] ) ;
// Train the model using the data.
model . fit ( xs , ys ) . then ( ( ) => {
// Use the model to do inference on a data point the model hasn't seen before:
model . predict ( tf . tensor2d ( [ 5 ] , [ 1 , 1 ] ) ) . print ( ) ;
} ) ;
詳細については、チュートリアル、例、ドキュメントを参照してください。
以下からの事前トレーニング済みモデルの移植をサポートしています。
以下を参照してください。
TensorFlow.js は TensorFlow エコシステムの一部です。詳細については:
tfjs
タグを使用してください。テスト サポートを提供してくださった BrowserStack に感謝します。