Keras মডেল (সাধারণত পাইথন API এর মাধ্যমে তৈরি করা) মধ্যে সংরক্ষণ করা হতে পারে বিভিন্ন ফরম্যাটের এক । "সম্পূর্ণ মডেল" বিন্যাসটিকে TensorFlow.js লেয়ার ফরম্যাটে রূপান্তর করা যেতে পারে, যা অনুমান বা আরও প্রশিক্ষণের জন্য সরাসরি TensorFlow.js এ লোড করা যেতে পারে।
লক্ষ্য TensorFlow.js স্তরসমূহ বিন্যাস একটি সমন্বিত একটি ডিরেক্টরি হয় model.json
ফাইল ও বাইনারি বিন্যাসে sharded ওজন ফাইল একটি সেট। model.json
এবং ওজন ফাইল সুস্পষ্ট: ফাইল উভয় মডেল টপোলজি (স্তর একটি বিবরণ এবং কিভাবে সংযুক্ত আছেন ওরফে "স্থাপত্য" বা "গ্রাফ") রয়েছে।
প্রয়োজনীয়তা
রূপান্তর পদ্ধতির জন্য একটি পাইথন পরিবেশ প্রয়োজন; আপনি ব্যবহার একটি বিচ্ছিন্ন এক রাখতে চান হতে পারে pipenv বা virtualenv । কনভার্টার ইনস্টল করার জন্য, ব্যবহার pip install tensorflowjs
।
TensorFlow.js-এ কেরাস মডেল আমদানি করা একটি দ্বি-পদক্ষেপ প্রক্রিয়া। প্রথমে, একটি বিদ্যমান কেরাস মডেলকে TF.js লেয়ার ফরম্যাটে রূপান্তর করুন এবং তারপর এটিকে TensorFlow.js-এ লোড করুন।
ধাপ 1. বিদ্যমান কেরাস মডেলকে TF.js লেয়ার ফরম্যাটে রূপান্তর করুন
Keras মডেলের সাধারণত মাধ্যমে সংরক্ষিত হয় 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 উদাহরণ এই পদ্ধতির গ্রহণ pretrained মডেলের যে রূপান্তরিত করা হয়েছে এবং Google ক্লাউড স্টোরেজ হোস্ট ব্যবহার করে।
মনে রাখবেন আপনি ব্যবহার সমগ্র মডেল পড়ুন model.json
ফাইলের নাম। loadModel(...)
নিয়ে আসে model.json
, এবং তারপর উল্লিখিত sharded ওজন ফাইল প্রাপ্ত করার জন্য অতিরিক্ত http (s) অনুরোধ করে তোলে model.json
ওজন ম্যানিফেস্ট। এই পদ্ধতির, এই ফাইলগুলির সমস্ত (এবং সম্ভবত ইন্টারনেট অতিরিক্ত ক্যাশে সার্ভার দ্বারা) ব্রাউজার দ্বারা ক্যাশে হতে দেয় কারণ model.json
এবং ওজন shards টিপিক্যাল ক্যাশে ফাইল সাইজ সীমা থেকে প্রতিটি ছোট। এইভাবে একটি মডেল পরবর্তী অনুষ্ঠানে আরও দ্রুত লোড হওয়ার সম্ভাবনা রয়েছে।
সমর্থিত বৈশিষ্ট্য
TensorFlow.js স্তরগুলি বর্তমানে শুধুমাত্র কেরাস মডেলগুলিকে স্ট্যান্ডার্ড কেরাস কনস্ট্রাক্ট ব্যবহার করে সমর্থন করে। অসমর্থিত অপ্স বা স্তরগুলি ব্যবহার করে মডেলগুলি—যেমন কাস্টম স্তর, ল্যাম্বডা স্তর, কাস্টম লস, বা কাস্টম মেট্রিক্স—স্বয়ংক্রিয়ভাবে আমদানি করা যায় না, কারণ সেগুলি পাইথন কোডের উপর নির্ভর করে যা জাভাস্ক্রিপ্টে নির্ভরযোগ্যভাবে অনুবাদ করা যায় না।