এই ডকুমেন্টটিতে tfhub.dev- এ সকল প্রকার মডেল—TFJS, TF Lite এবং TensorFlow মডেল—হোস্ট করার ক্ষেত্রে ব্যবহৃত URL কনভেনশনগুলো বর্ণনা করা হয়েছে। এছাড়াও, tfhub.dev এবং সামঞ্জস্যপূর্ণ সার্ভিসগুলো থেকে TensorFlow মডেল লোড করার জন্য tensorflow_hub লাইব্রেরি দ্বারা বাস্তবায়িত HTTP(S)-ভিত্তিক প্রোটোকলটিও এতে বর্ণনা করা হয়েছে।
এর মূল বৈশিষ্ট্য হলো, কোডে একটি মডেল লোড করতে এবং ব্রাউজারে মডেলটির ডকুমেন্টেশন দেখতে একই URL ব্যবহার করা।
সাধারণ URL নিয়মাবলী
tfhub.dev নিম্নলিখিত URL ফরম্যাটগুলো সমর্থন করে:
- TF Hub-এর প্রকাশকরা
https://tfhub.dev/<publisher>অনুসরণ করেন। - TF Hub সংগ্রহগুলি
https://tfhub.dev/<publisher>/collection/<collection_name>অনুসরণ করে। - TF Hub মডেলগুলোর ভার্সনযুক্ত ইউআরএল
https://tfhub.dev/<publisher>/<model_name>/<version>এবং ভার্সনবিহীন ইউআরএলhttps://tfhub.dev/<publisher>/<model_name>রয়েছে, যা মডেলটির সর্বশেষ ভার্সনে নিয়ে যায়।
tfhub.dev মডেল URL-এর শেষে URL প্যারামিটার যুক্ত করে TF Hub মডেলগুলোকে কম্প্রেসড অ্যাসেট হিসেবে ডাউনলোড করা যায়। তবে, এই কাজটি করার জন্য প্রয়োজনীয় URL প্যারামিটারগুলো মডেলের ধরনের ওপর নির্ভর করে:
- TensorFlow মডেলের (SavedModel এবং TF1 Hub উভয় ফরম্যাটের ক্ষেত্রে): TensorFlow মডেলের URL-এর শেষে
?tf-hub-format=compressedযুক্ত করুন। - TFJS মডেল: সংকুচিত ফাইলটি ডাউনলোড করতে TFJS মডেল URL-এর শেষে
?tfjs-format=compressedযুক্ত করুন, অথবা রিমোট স্টোরেজ থেকে পড়তে/model.json?tfjs-format=fileযুক্ত করুন। - TF Lite মডেল: TF Lite মডেলের URL-এর শেষে
?lite-format=tfliteযুক্ত করুন।
উদাহরণস্বরূপ:
| প্রকার | মডেল ইউআরএল | ডাউনলোডের ধরণ | URL প্যারামিটার | ডাউনলোড ইউআরএল |
| TensorFlow (SavedModel, TF1 Hub ফরম্যাট) | https://tfhub.dev/google/spice/2 | .tar.gz | ?tf-hub-format=compressed | https://tfhub.dev/google/spice/2?tf-hub-format=compressed |
| টিএফ লাইট | https://tfhub.dev/google/lite-model/spice/1 | .tflite | ?lite-format=tflite | https://tfhub.dev/google/lite-model/spice/1?lite-format=tflite |
| TF.js | https://tfhub.dev/google/tfjs-model/spice/2/default/1 | .tar.gz | ?tfjs-format=compressed | https://tfhub.dev/google/tfjs-model/spice/2/default/1?tfjs-format=compressed |
এছাড়াও, কিছু মডেল এমন একটি ফরম্যাটে হোস্ট করা থাকে যা ডাউনলোড না করেই সরাসরি রিমোট স্টোরেজ থেকে পড়া যায়। এটি বিশেষত তখন কাজে আসে যখন কোনো লোকাল স্টোরেজ উপলব্ধ থাকে না, যেমন ব্রাউজারে একটি TF.js মডেল চালানো বা Colab- এ একটি SavedModel লোড করার ক্ষেত্রে। মনে রাখবেন যে, স্থানীয়ভাবে ডাউনলোড না করে রিমোটলি হোস্ট করা মডেলগুলো পড়লে ল্যাটেন্সি বেড়ে যেতে পারে।
| প্রকার | মডেল ইউআরএল | প্রতিক্রিয়ার ধরণ | URL প্যারামিটার | URL অনুরোধ করুন |
| TensorFlow (SavedModel, TF1 Hub ফরম্যাট) | https://tfhub.dev/google/spice/2 | স্ট্রিং (GCS ফোল্ডারের পাথ যেখানে আনকম্প্রেসড মডেলটি সংরক্ষিত আছে) | ?tf-hub-format=uncompressed | https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed |
| TF.js | https://tfhub.dev/google/tfjs-model/spice/2/default/1 | .json | ?tfjs-format=file | https://tfhub.dev/google/tfjs-model/spice/2/default/1/model.json?tfjs-format=file |
টেনসরফ্লো_হাব লাইব্রেরি প্রোটোকল
এই অংশে বর্ণনা করা হয়েছে, কীভাবে আমরা tensorflow_hub লাইব্রেরির সাথে ব্যবহারের জন্য tfhub.dev- এ মডেল হোস্ট করি। আপনি যদি tensorflow_hub লাইব্রেরির সাথে কাজ করার জন্য আপনার নিজস্ব মডেল রিপোজিটরি হোস্ট করতে চান, তবে আপনার HTTP(s) ডিস্ট্রিবিউশন সার্ভিসে এই প্রোটোকলের একটি ইমপ্লিমেন্টেশন থাকা উচিত।
উল্লেখ্য যে, এই বিভাগে TF Lite এবং TFJS মডেল হোস্টিং সম্পর্কে আলোচনা করা হয়নি, কারণ এগুলি tensorflow_hub লাইব্রেরির মাধ্যমে ডাউনলোড করা হয় না। এই ধরনের মডেল হোস্টিং সম্পর্কে আরও তথ্যের জন্য, অনুগ্রহ করে উপরে দেখুন।
সংকুচিত হোস্টিং
মডেলগুলো tfhub.dev- এ সংকুচিত tar.gz ফাইল হিসেবে সংরক্ষিত থাকে। ডিফল্টরূপে, tensorflow_hub লাইব্রেরি স্বয়ংক্রিয়ভাবে সংকুচিত মডেলটি ডাউনলোড করে। এছাড়াও, মডেল ইউআরএল-এর শেষে ?tf-hub-format=compressed যোগ করে এগুলো ম্যানুয়ালি ডাউনলোড করা যায়, উদাহরণস্বরূপ:
wget https://tfhub.dev/tensorflow/albert_en_xxlarge/1?tf-hub-format=compressed
আর্কাইভের রুট হলো মডেল ডিরেক্টরির রুট এবং এর মধ্যে একটি SavedModel থাকা উচিত, যেমনটি এই উদাহরণে দেখানো হয়েছে:
# Create a compressed model from a SavedModel directory.
$ tar -cz -f model.tar.gz --owner=0 --group=0 -C /tmp/export-model/ .
# Inspect files inside a compressed model
$ tar -tf model.tar.gz
./
./variables/
./variables/variables.data-00000-of-00001
./variables/variables.index
./assets/
./saved_model.pb
লিগ্যাসি TF1 হাব ফরম্যাটের সাথে ব্যবহারের জন্য টারবলগুলোতে একটি ./tfhub_module.pb ফাইলও থাকবে।
যখন tensorflow_hub লাইব্রেরির মডেল লোডিং API-গুলোর কোনো একটি ( যেমন hub.KerasLayer , hub.load ইত্যাদি) কল করা হয়, তখন লাইব্রেরিটি মডেলটি ডাউনলোড করে, সেটিকে আনকমপ্রেস করে এবং স্থানীয়ভাবে ক্যাশ করে রাখে। tensorflow_hub লাইব্রেরি আশা করে যে মডেল URL-গুলো ভার্সনযুক্ত হবে এবং একটি নির্দিষ্ট ভার্সনের মডেলের বিষয়বস্তু অপরিবর্তনীয় হবে, যাতে এটিকে অনির্দিষ্টকালের জন্য ক্যাশ করে রাখা যায়। মডেল ক্যাশিং সম্পর্কে আরও জানুন।

অসংকুচিত হোস্টিং
যখন এনভায়রনমেন্ট ভ্যারিয়েবল TFHUB_MODEL_LOAD_FORMAT অথবা কমান্ড-লাইন ফ্ল্যাগ --tfhub_model_load_format কে UNCOMPRESSED এ সেট করা হয়, তখন মডেলটি স্থানীয়ভাবে ডাউনলোড ও আনকমপ্রেস না হয়ে সরাসরি রিমোট স্টোরেজ (GCS) থেকে পড়া হয়। যখন এই আচরণটি সক্রিয় করা হয়, তখন লাইব্রেরিটি মডেল URL-এর শেষে ?tf-hub-format=uncompressed যুক্ত করে। সেই অনুরোধটি GCS-এর সেই ফোল্ডারের পাথ ফেরত দেয় যেখানে আনকমপ্রেস করা মডেল ফাইলগুলো থাকে। উদাহরণস্বরূপ,
https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed
ফেরত
303 রেসপন্সের বডিতে gs://kaggle-tfhub-models-uncompressed/tfhub-modules/google/spice/2/uncompressed । এরপর লাইব্রেরিটি সেই GCS ডেস্টিনেশন থেকে মডেলটি পড়ে নেয়।