TensorFlow.js 3.0-এ আপগ্রেড করা হচ্ছে

TensorFlow.js 3.0 এ কি পরিবর্তন হয়েছে

রিলিজ নোট এখানে পাওয়া যায় . কয়েকটি উল্লেখযোগ্য ব্যবহারকারীর মুখোমুখি বৈশিষ্ট্যগুলির মধ্যে রয়েছে:

কাস্টম মডিউল

আমরা কাস্টম tfjs মডিউল তৈরির জন্য সমর্থন প্রদান করি যাতে সাইজ অপ্টিমাইজ করা ব্রাউজার বান্ডেল তৈরি করা যায়। আপনার ব্যবহারকারীদের কাছে কম জাভাস্ক্রিপ্ট পাঠান। এই সম্পর্কে আরও জানতে, এই টিউটোরিয়ালটি দেখুন

এই বৈশিষ্ট্যটি ব্রাউজারে স্থাপনার দিকে প্রস্তুত, তবে এই সক্ষমতা সক্ষম করা নীচে বর্ণিত কিছু পরিবর্তনকে অনুপ্রাণিত করে।

ES2017 কোড

কিছু প্রি-কম্পাইল বান্ডেল ছাড়াও, আমরা এখন আমাদের কোড NPM-এ পাঠানোর প্রধান উপায় হল ES2017 সিনট্যাক্স সহ ES মডিউল । এটি ডেভেলপারদের আধুনিক জাভাস্ক্রিপ্ট বৈশিষ্ট্যগুলির সুবিধা নিতে এবং তাদের শেষ ব্যবহারকারীদের কাছে তারা যা পাঠায় তার উপর আরও বেশি নিয়ন্ত্রণ রাখতে দেয়৷

আমাদের package.json module ES2017 ফরম্যাটে পৃথক লাইব্রেরি ফাইলের এন্ট্রি পয়েন্ট (যেমন একটি বান্ডিল নয়)। এটি গাছ কাঁপানো এবং ডাউনস্ট্রিম ট্রান্সপিলেশনের উপর বৃহত্তর বিকাশকারী নিয়ন্ত্রণকে সক্ষম করে।

আমরা লিগ্যাসি ব্রাউজার এবং অন্যান্য মডিউল সিস্টেমকে সমর্থন করার জন্য পূর্ব-সংকলিত বান্ডেল হিসাবে কয়েকটি বিকল্প বিন্যাস প্রদান করি। তারা নীচের সারণীতে বর্ণিত নামকরণের নিয়ম অনুসরণ করে এবং আপনি JsDelivr এবং Unpkg এর মতো জনপ্রিয় CDN থেকে সেগুলি লোড করতে পারেন।

ফাইলের নাম মডিউল বিন্যাস ভাষা সংস্করণ
tf[-প্যাকেজ] [মিন].js* ইউএমডি ES5
tf[-প্যাকেজ].es2017[মিন].js ইউএমডি ES2017
tf[-প্যাকেজ].node.js** কমনজেএস ES5
tf[-প্যাকেজ].es2017.fesm[মিন].js ESM (একক ফ্ল্যাট ফাইল) ES2017
index.js** ইএসএম ES2017

* [প্যাকেজ] প্রধান tf.js প্যাকেজের সাবপ্যাকেজের জন্য core/converter/layers এর মতো নামগুলিকে বোঝায়। [মিনিট] বর্ণনা করে যেখানে আমরা আনমিনিফাইড ফাইল ছাড়াও ছোট ফাইল সরবরাহ করি।

** আমাদের package.json main এন্ট্রি পয়েন্ট এই ফাইল.

*** আমাদের package.json module এন্ট্রি পয়েন্ট এই ফাইলে.

আপনি যদি npm-এর মাধ্যমে tensorflow.js ব্যবহার করেন এবং আপনি বান্ডলার ব্যবহার করেন, তাহলে আপনাকে আপনার বান্ডলার কনফিগারেশন সামঞ্জস্য করতে হতে পারে যাতে এটি হয় ES2017 মডিউলগুলি গ্রাস করতে পারে বা out package.json-এর অন্য একটি এন্ট্রিতে নির্দেশ করতে পারে।

@tensorflow/tfjs-core ডিফল্টরূপে স্লিমার

আরও ভাল ট্রি-কাঁপানো সক্ষম করার জন্য আমরা @tensorflow/tfjs-core-এ ডিফল্টরূপে টেনসরগুলিতে চেইনিং/ফ্লুয়েন্ট এপিআই অন্তর্ভুক্ত করি না। আমরা সবচেয়ে ছোট বান্ডিল পেতে সরাসরি অপারেশন (অপস) ব্যবহার করার পরামর্শ দিই। আমরা একটি আমদানি import '@tensorflow/tfjs-core/dist/public/chained_ops/register_all_chained_ops'; যে চেইনিং এপিআই পুনরুদ্ধার করে।

এছাড়াও আমরা ডিফল্টরূপে কার্নেলের জন্য গ্রেডিয়েন্ট নিবন্ধন করি না। আপনি যদি গ্রেডিয়েন্ট/প্রশিক্ষণ সমর্থন চান তাহলে আপনি import '@tensorflow/tfjs-core/dist/register_all_gradients';

কোড পুনর্গঠন, কার্নেল এবং গ্রেডিয়েন্ট রেজিস্ট্রি

আমরা আমাদের কোডটিকে পুনরায় সংগঠিত করেছি যাতে এটি অবদান অপস এবং কার্নেল উভয়ের পাশাপাশি কাস্টম অপস, কার্নেল এবং গ্রেডিয়েন্টগুলি বাস্তবায়ন করা সহজ হয়৷ আরও তথ্যের জন্য এই নির্দেশিকা দেখুন

ব্রেকিং পরিবর্তন

ব্রেকিং পরিবর্তনের একটি সম্পূর্ণ তালিকা এখানে পাওয়া যাবে, কিন্তু এর মধ্যে রয়েছে সমস্ত *কঠোর অপস যেমন mulStrict বা addStrict অপসারণ।

2.x থেকে আপগ্রেডিং কোড

@tensorflow/tfjs এর ব্যবহারকারীরা

এখানে তালিকাভুক্ত যেকোনো ব্রেকিং পরিবর্তনের ঠিকানা ( https://github.com/tensorflow/tfjs/releases )

@tensorflow/tfjs-core-এর ব্যবহারকারীরা

এখানে তালিকাভুক্ত যেকোনো ব্রেকিং পরিবর্তনের ঠিকানা ( https://github.com/tensorflow/tfjs/releases ), তারপর নিম্নলিখিতগুলি করুন:

চেইনড অপ অগমেন্টর যোগ করুন বা সরাসরি অপস ব্যবহার করুন

বরং

import * as tf from '@tensorflow/tfjs-core';
import '@tensorflow/tfjs-backend-webgl';

const a = tf.tensor([1,2,3,4]);
const b = a.sum(); // this is a 'chained' op.

আপনি করতে হবে

import * as tf from '@tensorflow/tfjs-core';
import '@tensorflow/tfjs-backend-webgl';
import '@tensorflow/tfjs-core/dist/public/chained_ops/sum'; // add the 'sum' chained op to all tensors

const a = tf.tensor([1,2,3,4]);
const b = a.sum();

আপনি নিম্নলিখিত আমদানির সাথে সমস্ত চেইনিং/ফ্লুয়েন্ট এপিআই আমদানি করতে পারেন

import '@tensorflow/tfjs-core/dist/public/chained_ops/register_all_chained_ops';

বিকল্পভাবে আপনি সরাসরি অপটি ব্যবহার করতে পারেন (আপনি এখানে নামযুক্ত আমদানিও ব্যবহার করতে পারেন)

import * as tf from '@tensorflow/tfjs-core';
import '@tensorflow/tfjs-backend-webgl';

const a = tf.tensor([1,2,3,4]);
const b = tf.sum(a);

আরম্ভ করার কোড আমদানি করুন

আপনি যদি একচেটিয়াভাবে নামযুক্ত আমদানি ব্যবহার করেন ( import * as ... ) তবে কিছু ক্ষেত্রে আপনাকে এটি করতে হতে পারে

import @tensorflow/tfjs-core

আপনার প্রোগ্রামের শীর্ষের কাছে, এটি আক্রমনাত্মক ট্রি-শেকারদের যেকোন প্রয়োজনীয় প্রাথমিককরণ বাদ দিতে বাধা দেয়।

1.x থেকে আপগ্রেডিং কোড

@tensorflow/tfjs এর ব্যবহারকারীরা

এখানে তালিকাভুক্ত যেকোনো ব্রেকিং পরিবর্তনের ঠিকানা দিন। তারপর 2.x থেকে আপগ্রেড করার জন্য নির্দেশাবলী অনুসরণ করুন

@tensorflow/tfjs-core-এর ব্যবহারকারীরা

এখানে তালিকাভুক্ত যেকোনো ব্রেকিং পরিবর্তনের ঠিকানা নিন, নীচে বর্ণিত হিসাবে একটি ব্যাকএন্ড নির্বাচন করুন এবং তারপর 2.x থেকে আপগ্রেড করার পদক্ষেপগুলি অনুসরণ করুন

একটি ব্যাকএন্ড নির্বাচন করা হচ্ছে

TensorFlow.js 2.0-এ আমরা তাদের নিজস্ব প্যাকেজে cpu এবং webgl ব্যাকএন্ড সরিয়ে দিয়েছি। এই ব্যাকএন্ডগুলি কীভাবে অন্তর্ভুক্ত করতে হয় তার নির্দেশাবলীর জন্য @tensorflow/tfjs-backend-cpu , @tensorflow/tfjs-backend-webgl , @tensorflow/tfjs -backend-wasm , @tensorflow/tfjs-backend-webgpu দেখুন।