মডেল হোস্টিং প্রোটোকল

এই দস্তাবেজটি tfhub.dev - TFJS, TF Lite এবং TensorFlow মডেলগুলিতে সমস্ত মডেলের ধরন হোস্ট করার সময় ব্যবহৃত ইউআরএল কনভেনশনগুলি বর্ণনা করে৷ এটি tfhub.dev থেকে TensorFlow মডেল এবং TensorFlow প্রোগ্রামগুলিতে সামঞ্জস্যপূর্ণ পরিষেবাগুলি লোড করার জন্য tensorflow_hub লাইব্রেরি দ্বারা বাস্তবায়িত HTTP(S)-ভিত্তিক প্রোটোকলের বর্ণনা দেয়।

এর মূল বৈশিষ্ট্য হল মডেল লোড করতে কোডে একই URL ব্যবহার করা এবং মডেল ডকুমেন্টেশন দেখতে ব্রাউজারে।

সাধারণ ইউআরএল কনভেনশন

tfhub.dev নিম্নলিখিত URL বিন্যাস সমর্থন করে:

  • TF হাব প্রকাশকরা <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher> অনুসরণ করে
  • TF হাব সংগ্রহ <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/collection/<collection_name> অনুসরণ করে
  • TF হাব মডেলগুলির সংস্করণযুক্ত url <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name>/<version> এবং unversioned url <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name> যা মডেলের সর্বশেষ সংস্করণে সমাধান করে।

TF Hub মডেলগুলি tfhub.dev মডেল URL-এ URL প্যারামিটার যুক্ত করে সংকুচিত সম্পদ হিসাবে ডাউনলোড করা যেতে পারে। যাইহোক, এটি অর্জনের জন্য প্রয়োজনীয় URL প্যারামিটারগুলি মডেলের প্রকারের উপর নির্ভর করে:

  • TensorFlow মডেল (উভয় সংরক্ষিত মডেল এবং TF1 হাব ফর্ম্যাট): TensorFlow মডেল url-এ ?tf-hub-format=compressed যুক্ত করুন।
  • TFJS মডেল: রিমোট স্টোরেজ থেকে পড়ার জন্য সংকুচিত বা /model.json?tfjs-format=file ফাইল ডাউনলোড করতে TFJS মডেল url-এ ?tfjs-format=compressed যুক্ত করুন।
  • TF লাইট মডেল: TF Lite মডেল url-এ ?lite-format=tflite যোগ করুন।

উদাহরণ স্বরূপ:

টাইপ মডেল URL ডাউনলোড টাইপ ইউআরএল প্যারাম URL ডাউনলোড করুন
টেনসরফ্লো (সংরক্ষিত মডেল, TF1 হাব ফর্ম্যাট) https://tfhub.dev/google/spice/2 .tar.gz ?tf-হাব-ফরম্যাট = সংকুচিত 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=সংকুচিত https://tfhub.dev/google/tfjs-model/spice/2/default/1?tfjs-format=compressed

উপরন্তু, কিছু মডেল এমন একটি বিন্যাসে হোস্ট করা হয় যা ডাউনলোড না করেই দূরবর্তী স্টোরেজ থেকে সরাসরি পড়া যায়। এটি বিশেষভাবে উপযোগী যদি কোনো স্থানীয় স্টোরেজ উপলব্ধ না থাকে, যেমন ব্রাউজারে একটি TF.js মডেল চালানো বা Colab- এ একটি SavedModel লোড করা। সচেতন থাকুন যে স্থানীয়ভাবে ডাউনলোড না করে দূরবর্তীভাবে হোস্ট করা মডেলগুলি পড়া লেটেন্সি বাড়াতে পারে৷

টাইপ মডেল URL প্রতিক্রিয়ার ধরন ইউআরএল প্যারাম অনুরোধ URL
টেনসরফ্লো (সংরক্ষিত মডেল, TF1 হাব ফর্ম্যাট) https://tfhub.dev/google/spice/2 স্ট্রিং (জিসিএস ফোল্ডারের পাথ যেখানে অসংকুচিত মডেল সংরক্ষণ করা হয়) ?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 লাইব্রেরি প্রোটোকল

এই বিভাগে আমরা tensorflow_hub লাইব্রেরির সাথে ব্যবহারের জন্য tfhub.dev- এ মডেলগুলি কীভাবে হোস্ট করি তা বর্ণনা করে। আপনি যদি tensorflow_hub লাইব্রেরির সাথে কাজ করার জন্য আপনার নিজস্ব মডেল সংগ্রহস্থল হোস্ট করতে চান, তাহলে আপনার HTTP(গুলি) বিতরণ পরিষেবা এই প্রোটোকলের একটি বাস্তবায়ন প্রদান করবে।

মনে রাখবেন যে এই বিভাগটি হোস্টিং TF Lite এবং TFJS মডেলগুলিকে সম্বোধন করে না কারণ সেগুলি tensorflow_hub লাইব্রেরির মাধ্যমে ডাউনলোড করা হয় না৷ এই ধরনের মডেল হোস্টিং সম্পর্কে আরও তথ্যের জন্য, অনুগ্রহ করে উপরে দেখুন।

সংকুচিত হোস্টিং

মডেলগুলি tfhub.dev- এ সংকুচিত tar.gz ফাইল হিসাবে সংরক্ষণ করা হয়। ডিফল্টরূপে, tensorflow_hub লাইব্রেরি স্বয়ংক্রিয়ভাবে সংকুচিত মডেল ডাউনলোড করে। মডেল url-এ ?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 লাইব্রেরি মডেল লোডিং এপিআইগুলির মধ্যে একটি চালু করা হয় ( hub.KerasLayer , hub.load , ইত্যাদি) লাইব্রেরি মডেলটি ডাউনলোড করে, মডেলটিকে আনকম্প্রেস করে এবং স্থানীয়ভাবে ক্যাশে করে। tensorflow_hub লাইব্রেরি আশা করে যে মডেল URLগুলি সংস্করণ করা হয়েছে এবং একটি প্রদত্ত সংস্করণের মডেল বিষয়বস্তু অপরিবর্তনীয়, যাতে এটি অনির্দিষ্টকালের জন্য ক্যাশে করা যায়। ক্যাশিং মডেল সম্পর্কে আরও জানুন।

আনকম্প্রেস হোস্টিং

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