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:
Bir komut dosyası etiketi kullanın.
NPM'den yükleyin ve Parcel , webpack veya Rollup gibi bir oluşturma aracı kullanın.
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:
- Örnek belgeyi
index.html
adlı bir dosyaya kaydedin. Varsayılan tarayıcınızda açmak için
index.html
çift tıklayın.Alternatif olarak,
index.html
ile aynı dizindenpx http-server
çalıştırarakindex.html
sunabilirsiniz. (Eğerhttp-server
kurulumu için izin istenirse,y
girin.) Daha sonra tarayıcınızdahttp://localhost:8080
adresine gidin.Komut dosyasının çıktısını görmek için tarayıcı konsolunu açın.
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.