কেরাস মডেলগুলি (সাধারণত পাইথন API এর মাধ্যমে তৈরি করা হয়) বিভিন্ন ফর্ম্যাটের একটিতে সংরক্ষণ করা যেতে পারে। "সম্পূর্ণ মডেল" বিন্যাসটিকে TensorFlow.js স্তর বিন্যাসে রূপান্তর করা যেতে পারে, যা অনুমান বা আরও প্রশিক্ষণের জন্য সরাসরি TensorFlow.js এ লোড করা যেতে পারে।
টার্গেট TensorFlow.js লেয়ার ফরম্যাট হল একটি ডিরেক্টরি যেখানে একটি model.json
ফাইল এবং বাইনারি ফরম্যাটে শার্ডেড ওয়েট ফাইলের একটি সেট রয়েছে। model.json
ফাইলটিতে মডেল টপোলজি (ওরফে "আর্কিটেকচার" বা "গ্রাফ": স্তরগুলির একটি বিবরণ এবং তারা কীভাবে সংযুক্ত) এবং ওজন ফাইলগুলির একটি ম্যানিফেস্ট উভয়ই রয়েছে৷
প্রয়োজনীয়তা
রূপান্তর পদ্ধতির জন্য একটি পাইথন পরিবেশ প্রয়োজন; আপনি pipenv বা virtualenv ব্যবহার করে একটি বিচ্ছিন্ন রাখতে চাইতে পারেন। কনভার্টার ইনস্টল করতে, pip install tensorflowjs
ব্যবহার করুন।
TensorFlow.js-এ কেরাস মডেল আমদানি করা একটি দ্বি-পদক্ষেপ প্রক্রিয়া। প্রথমে, একটি বিদ্যমান কেরাস মডেলকে TF.js লেয়ার ফরম্যাটে রূপান্তর করুন এবং তারপরে এটিকে TensorFlow.js-এ লোড করুন।
ধাপ 1. বিদ্যমান কেরাস মডেলকে TF.js লেয়ার ফরম্যাটে রূপান্তর করুন
কেরাস মডেলগুলি সাধারণত model.save(filepath)
এর মাধ্যমে সংরক্ষণ করা হয়, যা মডেল টপোলজি এবং ওজন উভয় ধারণ করে একটি একক HDF5 (.h5) ফাইল তৈরি করে। এই ধরনের একটি ফাইলকে TF.js লেয়ার ফরম্যাটে রূপান্তর করতে, নিম্নলিখিত কমান্ডটি চালান, যেখানে path/to/my_model.h5
হল Keras .h5 ফাইল এবং path/to/tfjs_target_dir
হল TF.js ফাইলগুলির লক্ষ্য আউটপুট ডিরেক্টরি:
# bash
tensorflowjs_converter --input_format keras \
path/to/my_model.h5 \
path/to/tfjs_target_dir
বিকল্প: সরাসরি TF.js লেয়ার ফরম্যাটে এক্সপোর্ট করতে পাইথন API ব্যবহার করুন
আপনার যদি পাইথনে কেরাস মডেল থাকে, তাহলে আপনি এটিকে সরাসরি TensorFlow.js লেয়ার ফরম্যাটে রপ্তানি করতে পারেন:
# Python
import tensorflowjs as tfjs
def train(...):
model = keras.models.Sequential() # for example
...
model.compile(...)
model.fit(...)
tfjs.converters.save_keras_model(model, tfjs_target_dir)
ধাপ 2: মডেলটি TensorFlow.js এ লোড করুন
ধাপ 1-এ আপনার তৈরি করা রূপান্তরিত মডেল ফাইলগুলি পরিবেশন করতে একটি ওয়েব সার্ভার ব্যবহার করুন৷ মনে রাখবেন যে জাভাস্ক্রিপ্টে ফাইলগুলি আনার অনুমতি দেওয়ার জন্য আপনাকে ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) এর অনুমতি দেওয়ার জন্য আপনার সার্ভারকে কনফিগার করতে হতে পারে৷
তারপর model.json ফাইলে URL প্রদান করে TensorFlow.js-এ মডেলটি লোড করুন:
// JavaScript
import * as tf from '@tensorflow/tfjs';
const model = await tf.loadLayersModel('https://foo.bar/tfjs_artifacts/model.json');
এখন মডেলটি অনুমান, মূল্যায়ন বা পুনরায় প্রশিক্ষণের জন্য প্রস্তুত। উদাহরণস্বরূপ, লোড করা মডেলটি একটি ভবিষ্যদ্বাণী করতে অবিলম্বে ব্যবহার করা যেতে পারে:
// JavaScript
const example = tf.fromPixels(webcamElement); // for example
const prediction = model.predict(example);
TensorFlow.js উদাহরণগুলির মধ্যে অনেকগুলি এই পদ্ধতিটি গ্রহণ করে, পূর্বপ্রশিক্ষিত মডেলগুলি ব্যবহার করে যা রূপান্তরিত এবং Google ক্লাউড স্টোরেজে হোস্ট করা হয়েছে৷
মনে রাখবেন যে আপনি model.json
ফাইলের নাম ব্যবহার করে সম্পূর্ণ মডেল উল্লেখ করেন। loadModel(...)
model.json
আনয়ন করে, এবং তারপর model.json
ওয়েট ম্যানিফেস্টে উল্লেখ করা শার্ডেড ওয়েট ফাইলগুলি পাওয়ার জন্য অতিরিক্ত HTTP(S) অনুরোধ করে। এই পদ্ধতিটি এই সমস্ত ফাইলগুলিকে ব্রাউজার দ্বারা ক্যাশে করার অনুমতি দেয় (এবং সম্ভবত ইন্টারনেটে অতিরিক্ত ক্যাশিং সার্ভারের মাধ্যমে), কারণ model.json
এবং ওজন শার্ডগুলি সাধারণ ক্যাশে ফাইলের আকার সীমা থেকে ছোট। এইভাবে একটি মডেল পরবর্তী অনুষ্ঠানে আরও দ্রুত লোড হওয়ার সম্ভাবনা রয়েছে।
সমর্থিত বৈশিষ্ট্য
TensorFlow.js স্তরগুলি বর্তমানে শুধুমাত্র কেরাস মডেলগুলিকে স্ট্যান্ডার্ড কেরাস কনস্ট্রাক্ট ব্যবহার করে সমর্থন করে। অসমর্থিত অপ্স বা স্তরগুলি ব্যবহার করে মডেলগুলি—যেমন কাস্টম স্তর, ল্যাম্বডা স্তর, কাস্টম লস, বা কাস্টম মেট্রিক্স—স্বয়ংক্রিয়ভাবে আমদানি করা যায় না, কারণ সেগুলি পাইথন কোডের উপর নির্ভর করে যা জাভাস্ক্রিপ্টে নির্ভরযোগ্যভাবে অনুবাদ করা যায় না।