Bir TensorFlow.js projesi oluşturun

Bu belge, TensorFlow.js'yi bir tarayıcı ortamında ve Node.js'de nasıl kuracağınızı ve kullanacağınızı gösterir.

Tarayıcı kurulumu

TensorFlow.js'yi tarayıcı tabanlı bir projede kullanmanın önerilen iki yolu vardır:

Web geliştirmede yeniyseniz veya daha önce JavaScript oluşturma araçlarını kullanmadıysanız, önce komut dosyası etiketi yaklaşımını denemek isteyebilirsiniz. Web varlıklarınızı genellikle paketliyor veya işliyorsanız ya da daha büyük uygulamalar yazmayı planlıyorsanız derleme araçlarını kullanmayı düşünmelisiniz.

Komut dosyası etiketi kullanma

TensorFlow.js'yi bir komut dosyası etiketi kullanarak almak için aşağıdakileri ana HTML dosyanıza ekleyin:

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

Aşağıdaki örnek, tarayıcıda bir modelin nasıl tanımlanacağını ve eğitileceğini gösterir:

<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8" />
    <title>TensorFlow.js browser example</title>

    <!-- Load TensorFlow.js from a script tag -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js"></script>
  </head>
  <body>
    <h1>TensorFlow.js example</h1>
    <h2>Open the console to see the results.</h2>
    <script>
    // Define a model for linear regression. The script tag makes `tf` available
    // as a global variable.
    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
    });
    </script>
  </body>
</html>

Örneği çalıştırmak için şu adımları izleyin:

  1. Örnek belgeyi index.html adlı bir dosyaya kaydedin.
  2. Varsayılan tarayıcınızda açmak için index.html çift tıklayın.

    Alternatif olarak, index.html ile aynı dizinde npx http-server çalıştırarak index.html sunabilirsiniz. (Eğer http-server kurulumu için izin istenirse, y girin.) Daha sonra tarayıcınızda http://localhost:8080 adresine gidin.

  3. Komut dosyasının çıktısını görmek için tarayıcı konsolunu açın.

  4. Yeni (ve muhtemelen farklı) bir tahmin görmek için sayfayı yenileyin.

NPM'den yükleme

TensorFlow.js'yi NPM'den yüklemek için npm CLI'yi veya iplik kullanın.

NPM

npm install @tensorflow/tfjs

İplik

yarn add @tensorflow/tfjs

Aşağıdaki örnek TensorFlow.js'nin nasıl içe aktarılacağını, bir modelin nasıl tanımlanacağını ve modelin nasıl eğitileceğini gösterir.

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]}));

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 kurulumu

TensorFlow.js'yi Node.js'de kullanmak için aşağıdaki kurulum seçeneklerinden birini tamamlamak üzere npm CLI'yi veya iplik kullanın.

TensorFlow.js'yi Node.js'de kullanma hakkında daha fazla bilgi edinmek için Node.js kılavuzuna bakın. Ek kurulum bilgileri için Node.js deposu için TensorFlow.js'ye bakın.

Seçenek 1: TensorFlow.js'yi yerel C++ bağlamalarıyla yükleyin.

tfjs-node modülü, TensorFlow C ikili programı tarafından hızlandırılan, Node.js çalışma zamanı altında JavaScript uygulamalarında yerel TensorFlow yürütülmesini sağlar.

tfjs-node yükleyin:

NPM

npm install @tensorflow/tfjs-node

İplik

yarn add @tensorflow/tfjs-node

Aşağıdaki örnek tfjs-node öğesinin nasıl içe aktarılacağını, bir modelin nasıl tanımlanacağını ve modelin nasıl eğitileceğini gösterir.

// Use `tfjs-node`. Note that `tfjs` is imported indirectly by `tfjs-node`.
const tf = require('@tensorflow/tfjs-node');

// Define 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]);

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

Seçenek 2: GPU için TensorFlow.js'yi yükleyin

(Yalnızca Linux) Sisteminizde CUDA destekli bir NVIDIA® GPU varsa, gelişmiş performans için GPU paketini kullanabilirsiniz.

tfjs-node-gpu yükleyin:

NPM

npm install @tensorflow/tfjs-node-gpu

İplik

yarn add @tensorflow/tfjs-node-gpu

Aşağıdaki örnek tfjs-node-gpu nasıl içe aktarılacağını, bir modelin nasıl tanımlanacağını ve modelin nasıl eğitileceğini gösterir.

// Use `tfjs-node-gpu`. Note that `tfjs` is imported indirectly by `tfjs-node-gpu`.
const tf = require('@tensorflow/tfjs-node-gpu');

// Define 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]);

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

3. Seçenek: Saf JavaScript sürümünü yükleyin

tfjs modülü, tarayıcıda kullanacağınız paketle aynıdır. Performans açısından Node.js seçenekleri arasında en yavaş olanıdır.

tfjs yükleyin:

NPM

npm install @tensorflow/tfjs

İplik

yarn add @tensorflow/tfjs

Aşağıdaki örnek tfjs nasıl içe aktarılacağını, bir modelin nasıl tanımlanacağını ve modelin nasıl eğitileceğini gösterir.

// Use `tfjs`.
const tf = require('@tensorflow/tfjs');

// Define 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]);

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

TypeScript

Bir TypeScript projesinde TensorFlow.js kullanıyorsanız ve katı boş denetimi etkinleştirilmişse, derleme sırasında hataları önlemek için tsconfig.json dosyasında skipLibCheck: true ayarlamanız gerekebilir.