Bu belge, TensorFlow.js'i tarayıcı ortamında ve Node.js'de nasıl kuracağınızı ve kullanacağınızı göstermektedir.
Tarayıcı ayarları
Tarayıcı tabanlı bir projede TensorFlow.js kullanmanın önerilen iki yolu vardır:
Bir script etiketi kullanın.
NPM'den yükleyin ve Parcel , webpack veya Rollup gibi bir derleme aracı kullanın.
Web geliştirmeye yeni başladıysanız veya daha önce JavaScript derleme araçlarını kullanmadıysanız, öncelikle script 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.
Bir script etiketi kullanın.
TensorFlow.js'i bir script etiketi kullanarak edinmek için, ana HTML dosyanıza aşağıdakileri 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östermektedir:
<!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.htmladlı bir dosyaya kaydedin. index.htmldosyasını varsayılan tarayıcınızda açmak için çift tıklayın.Alternatif olarak,
index.htmlindex.htmldizindenpx http-serverkomutunu çalıştırarak da sunabilirsiniz. (http-serverkurmak için izin istenirse,ygirin.) Ardından tarayıcınızdahttp://localhost:8080adresine gidin.Komut dosyasının çıktısını görmek için tarayıcı konsolunu açın.
Yeni (ve büyük olasılıkla farklı) bir tahmin görmek için sayfayı yenileyin.
NPM'den yükleyin
TensorFlow.js'i NPM'den yüklemek için npm komut satırı aracını veya yarn'ı kullanabilirsiniz.
NPM
npm install @tensorflow/tfjs
İplik
yarn add @tensorflow/tfjs
Aşağıdaki örnek, TensorFlow.js'yi nasıl içe aktaracağınızı, bir model tanımlayacağınızı ve modeli nasıl eğiteceğinizi göstermektedir.
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
Node.js'de TensorFlow.js kullanmak için, aşağıdaki kurulum seçeneklerinden birini kullanarak npm CLI veya yarn'ı kullanın.
Node.js'de TensorFlow.js kullanımına ilişkin daha fazla bilgi edinmek için Node.js kılavuzuna bakın. Ek kurulum bilgileri için Node.js için TensorFlow.js deposuna bakın.
Seçenek 1: TensorFlow.js'i yerel C++ bağlamalarıyla kurun.
tfjs-node modülü, TensorFlow C ikili dosyası tarafından hızlandırılan, Node.js çalışma ortamı altında JavaScript uygulamalarında yerel TensorFlow yürütme olanağı sağlar.
tfjs-node yükleyin:
NPM
npm install @tensorflow/tfjs-node
İplik
yarn add @tensorflow/tfjs-node
Aşağıdaki örnek tfjs-node nasıl içe aktaracağınızı, bir model tanımlayacağınızı ve modeli nasıl eğiteceğinizi göstermektedir.
// 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
(Sadece Linux için) Sisteminizde CUDA desteği olan bir NVIDIA® GPU varsa, daha iyi 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 aktaracağınızı, bir model tanımlayacağınızı ve modeli nasıl eğiteceğinizi göstermektedir.
// 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}`)
}
});
Seçenek 3: 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 aktaracağınızı, bir model tanımlayacağınızı ve modeli nasıl eğiteceğinizi göstermektedir.
// 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
TypeScript projesinde TensorFlow.js kullanıyorsanız ve katı null kontrolü etkinleştirilmişse, derleme sırasında hataları önlemek için tsconfig.json dosyanızda skipLibCheck: true ayarını yapmanız gerekebilir.