এই ডকুমেন্টটিতে দেখানো হয়েছে কীভাবে ব্রাউজার পরিবেশে এবং Node.js-এ TensorFlow.js ইনস্টল ও ব্যবহার করতে হয়।
ব্রাউজার সেটআপ
ব্রাউজার-ভিত্তিক প্রকল্পে TensorFlow.js ব্যবহার করার দুটি প্রস্তাবিত উপায় রয়েছে:
স্ক্রিপ্ট ট্যাগ ব্যবহার করুন।
NPM থেকে ইনস্টল করুন এবং Parcel , webpack বা Rollup-এর মতো একটি বিল্ড টুল ব্যবহার করুন।
আপনি যদি ওয়েব ডেভেলপমেন্টে নতুন হন, অথবা আগে জাভাস্ক্রিপ্ট বিল্ড টুল ব্যবহার না করে থাকেন, তাহলে প্রথমে স্ক্রিপ্ট ট্যাগ পদ্ধতিটি চেষ্টা করে দেখতে পারেন। আপনি যদি সাধারণত আপনার ওয়েব অ্যাসেটগুলো বান্ডল বা প্রসেস করেন, অথবা বড় অ্যাপ্লিকেশন লেখার পরিকল্পনা করেন, তবে আপনার বিল্ড টুল ব্যবহার করার কথা বিবেচনা করা উচিত।
স্ক্রিপ্ট ট্যাগ ব্যবহার করুন
স্ক্রিপ্ট ট্যাগ ব্যবহার করে TensorFlow.js পেতে, আপনার প্রধান HTML ফাইলে নিম্নলিখিতটি যোগ করুন:
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@latest/dist/tf.min.js"></script>
নিম্নলিখিত উদাহরণে দেখানো হয়েছে কীভাবে ব্রাউজারে একটি মডেল সংজ্ঞায়িত এবং প্রশিক্ষণ দিতে হয়:
<!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>
উদাহরণটি চালানোর জন্য, এই ধাপগুলো অনুসরণ করুন:
- উদাহরণ ডকুমেন্টটি
index.htmlনামের একটি ফাইলে সংরক্ষণ করুন। আপনার ডিফল্ট ব্রাউজারে
index.htmlফাইলটি খুলতে এতে ডাবল-ক্লিক করুন।বিকল্পভাবে, আপনি
index.htmlindex.htmlডিরেক্টরিতে আছে, সেখানেnpx http-serverকমান্ডটি চালিয়ে ফাইলটি সার্ভ করতে পারেন। (যদিhttp-serverইনস্টল করার জন্য অনুমতি চাওয়া হয়, তাহলেyলিখুন।) এরপর আপনার ব্রাউজারেhttp://localhost:8080এ যান।স্ক্রিপ্টটির আউটপুট দেখতে ব্রাউজার কনসোলটি খুলুন।
একটি নতুন (এবং খুব সম্ভবত ভিন্ন) পূর্বাভাস দেখতে পৃষ্ঠাটি রিফ্রেশ করুন।
NPM থেকে ইনস্টল করুন
NPM থেকে TensorFlow.js ইনস্টল করতে, npm CLI অথবা yarn ব্যবহার করুন।
এনপিএম
npm install @tensorflow/tfjs
সুতা
yarn add @tensorflow/tfjs
নিম্নলিখিত উদাহরণে দেখানো হয়েছে কীভাবে TensorFlow.js ইম্পোর্ট করতে হয়, একটি মডেল নির্ধারণ করতে হয় এবং মডেলটিকে প্রশিক্ষণ দিতে হয়।
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-এ TensorFlow.js ব্যবহার করতে, npm CLI অথবা yarn ব্যবহার করে নিচের ইনস্টলেশন বিকল্পগুলোর মধ্যে যেকোনো একটি সম্পন্ন করুন।
Node.js-এ TensorFlow.js ব্যবহার সম্পর্কে আরও জানতে, Node.js গাইডটি দেখুন। অতিরিক্ত ইনস্টলেশন তথ্যের জন্য, TensorFlow.js for Node.js রিপোজিটরিটি দেখুন।
বিকল্প ১: নেটিভ C++ বাইন্ডিং সহ TensorFlow.js ইনস্টল করুন।
tfjs-node মডিউলটি Node.js রানটাইমের অধীনে জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনগুলিতে নেটিভ TensorFlow এক্সিকিউশন প্রদান করে, যা TensorFlow C বাইনারি দ্বারা ত্বরান্বিত হয়।
tfjs-node ইনস্টল করুন :
এনপিএম
npm install @tensorflow/tfjs-node
সুতা
yarn add @tensorflow/tfjs-node
নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে tfjs-node ইম্পোর্ট করতে হয়, একটি মডেল সংজ্ঞায়িত করতে হয় এবং মডেলটিকে প্রশিক্ষণ দিতে হয়।
// 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}`)
}
});
বিকল্প ২: GPU-এর জন্য TensorFlow.js ইনস্টল করুন
(শুধুমাত্র লিনাক্সের জন্য) যদি আপনার সিস্টেমে CUDA সাপোর্টসহ একটি NVIDIA® GPU থাকে, তাহলে আপনি উন্নত পারফরম্যান্সের জন্য GPU প্যাকেজটি ব্যবহার করতে পারেন।
tfjs-node-gpu ইনস্টল করুন:
এনপিএম
npm install @tensorflow/tfjs-node-gpu
সুতা
yarn add @tensorflow/tfjs-node-gpu
নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে tfjs-node-gpu ইম্পোর্ট করতে হয়, একটি মডেল সংজ্ঞায়িত করতে হয় এবং মডেলটিকে প্রশিক্ষণ দিতে হয়।
// 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}`)
}
});
বিকল্প ৩: বিশুদ্ধ জাভাস্ক্রিপ্ট সংস্করণটি ইনস্টল করুন
tfjs মডিউলটি সেই একই প্যাকেজ যা আপনি ব্রাউজারে ব্যবহার করেন। পারফরম্যান্সের দিক থেকে এটি Node.js-এর বিকল্পগুলোর মধ্যে সবচেয়ে ধীরগতির।
tfjs ইনস্টল করুন :
এনপিএম
npm install @tensorflow/tfjs
সুতা
yarn add @tensorflow/tfjs
নিম্নলিখিত উদাহরণে দেখানো হয়েছে কিভাবে tfjs ইম্পোর্ট করতে হয়, একটি মডেল নির্ধারণ করতে হয় এবং মডেলটিকে প্রশিক্ষণ দিতে হয়।
// 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 প্রজেক্টে TensorFlow.js ব্যবহার করেন এবং সেখানে strict null checking চালু করা থাকে, তাহলে কম্পাইলেশনের সময় ত্রুটি এড়াতে আপনার tsconfig.json ফাইলে skipLibCheck: true সেট করার প্রয়োজন হতে পারে।