セットアップ

ブラウザのセットアップ

ブラウザベースのプロジェクトで TensorFlow.js を取得するには、主に次の 2 つの方法があります。

ウェブ開発の経験が浅い方、または webpack や parcel などのツールを聞いたことがない方は、script タグのアプローチを使うことをお勧めします。経験の豊富な方や、より大型のプログラムを作成しようと考えている場合は、ビルドツールを使用するアプローチを探る価値があります。

scriptタグから使用する

メインの HTML ファイルに次の script タグを追加します。

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>

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, {epochs: 10}).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(); // Open the browser devtools to see the output });

NPM からインストール

npm cli ツールまたは yarn を使用して、TensorFlow.js をインストールできます。

yarn add @tensorflow/tfjs

または

npm install @tensorflow/tfjs

// Define a model for linear regression. const model = tf.sequential(); model.add(tf.layers.dense({units: 1, inputShape: [1]}));

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, {epochs: 10}).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(); // Open the browser devtools to see the output });

Node.js のセットアップ

npm cli ツールまたは yarn を使用して、TensorFlow.js をインストールできます。

オプション 1: ネイティブの C++ バインディングで TensorFlow.js をインストールします。

yarn add @tensorflow/tfjs-node

または

npm install @tensorflow/tfjs-node

オプション 2:(Linux のみ)システムに CUDA サポート付きの NVIDIA® GPU が備わっている場合は、より高いパフォーマンスを得るために GPU パッケージを使用します。

yarn add @tensorflow/tfjs-node-gpu

または

npm install @tensorflow/tfjs-node-gpu

オプション 3: ピュア JavaScript バージョンをインストールします。パフォーマンスの観点では、これが速度が最も遅いオプションです。

yarn add @tensorflow/tfjs

または

npm install @tensorflow/tfjs

// Optional Load the binding: // Use '@tensorflow/tfjs-node-gpu' if running with GPU. require('@tensorflow/tfjs-node');

// Train a simple model: const model = tf.sequential(); model.add(tf.layers.dense({units: 100, activation: 'relu', inputShape: [10]})); model.add(tf.layers.dense({units: 1, activation: 'linear'})); model.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

const xs = tf.randomNormal([100, 10]); const ys = tf.randomNormal([100, 1]);

model.fit(xs, ys, { epochs: 100, callbacks: { onEpochEnd: (epoch, log) => console.log(Epoch ${epoch}: loss = ${log.loss}) } });

TypeScript

TypeScript を使用する際、プロジェクトで厳格な null チェックを行っている場合は、コンパイル中にエラーが発生する可能性があるため、skipLibCheck: truetsconfig.json ファイルに設定する必要があるかもしれません。