मॉडल होस्टिंग प्रोटोकॉल

यह दस्तावेज़ tfhub.dev - TFJS, TF Lite और TensorFlow मॉडल पर सभी मॉडल प्रकारों को होस्ट करते समय उपयोग किए जाने वाले URL सम्मेलनों का वर्णन करता है। यह tfhub.dev से TensorFlow मॉडल और TensorFlow प्रोग्राम में संगत सेवाओं को लोड करने के लिए tensorflow_hub लाइब्रेरी द्वारा कार्यान्वित HTTP (S)-आधारित प्रोटोकॉल का भी वर्णन करता है।

इसकी मुख्य विशेषता मॉडल को लोड करने के लिए कोड में और मॉडल दस्तावेज़ देखने के लिए ब्राउज़र में समान यूआरएल का उपयोग करना है।

सामान्य यूआरएल परंपराएँ

tfhub.dev निम्नलिखित URL प्रारूपों का समर्थन करता है:

  • TF हब प्रकाशक <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher> फ़ॉलो करते हैं
  • टीएफ हब संग्रह <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/collection/<collection_name> अनुसरण करते हैं
  • टीएफ हब मॉडल में संस्करणित यूआरएल <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name>/<version> और अपरिवर्तित यूआरएल <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name> है। <a href="https://tfhub.dev/">https://tfhub.dev/</a><publisher>/<model_name> जो मॉडल के नवीनतम संस्करण का समाधान करता है।

TF हब मॉडल को tfhub.dev मॉडल URL में URL पैरामीटर जोड़कर संपीड़ित संपत्ति के रूप में डाउनलोड किया जा सकता है। हालाँकि, इसे प्राप्त करने के लिए आवश्यक URL पैरामीटर मॉडल प्रकार पर निर्भर करते हैं:

  • TensorFlow मॉडल (SaveModel और TF1 हब दोनों प्रारूप): TensorFlow मॉडल url में ?tf-hub-format=compressed जोड़ें।
  • टीएफजेएस मॉडल: रिमोट स्टोरेज से पढ़ने के लिए संपीड़ित या /model.json?tfjs-format=file फ़ाइल को डाउनलोड करने के लिए TFJS मॉडल यूआरएल में ?tfjs-format=compressed जोड़ें।
  • टीएफ लाइट मॉडल: टीएफ लाइट मॉडल यूआरएल में ?lite-format=tflite जोड़ें।

उदाहरण के लिए:

प्रकार मॉडल यूआरएल डाउनलोड प्रकार यूआरएल पैरामीटर यूआरएल डाउनलोड करें
TensorFlow (सेव्डमॉडल, 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 ?लाइट-प्रारूप=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-प्रारूप=संपीड़ित https://tfhub.dev/google/tfjs-model/spice/2/default/1?tfjs-format=compressed

इसके अतिरिक्त, कुछ मॉडल ऐसे प्रारूप में भी होस्ट किए जाते हैं जिन्हें डाउनलोड किए बिना सीधे रिमोट स्टोरेज से पढ़ा जा सकता है। यह विशेष रूप से उपयोगी है यदि कोई स्थानीय भंडारण उपलब्ध नहीं है, जैसे कि ब्राउज़र में TF.js मॉडल चलाना या Colab पर SavedModel लोड करना। सचेत रहें कि स्थानीय रूप से डाउनलोड किए बिना दूरस्थ रूप से होस्ट किए गए रीडिंग मॉडल विलंबता को बढ़ा सकते हैं।

प्रकार मॉडल यूआरएल प्रतिक्रिया प्रकार यूआरएल पैरामीटर यूआरएल का अनुरोध करें
TensorFlow (सेव्डमॉडल, TF1 हब प्रारूप) https://tfhub.dev/google/spice/2 स्ट्रिंग (जीसीएस फ़ोल्डर का पथ जहां असम्पीडित मॉडल संग्रहीत है) ?tf-हब-प्रारूप=असम्पीडित https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed
TF.js https://tfhub.dev/google/tfjs-model/spice/2/default/1 .json ?tfjs-प्रारूप=फ़ाइल https://tfhub.dev/google/tfjs-model/spice/2/default/1/model.json?tfjs-format=file

टेंसरफ़्लो_हब लाइब्रेरी प्रोटोकॉल

यह अनुभाग वर्णन करता है कि हम tansorflow_hub लाइब्रेरी के उपयोग के लिए tfhub.dev पर मॉडल कैसे होस्ट करते हैं। यदि आप Tensorflow_hub लाइब्रेरी के साथ काम करने के लिए अपने स्वयं के मॉडल रिपॉजिटरी को होस्ट करना चाहते हैं, तो आपकी HTTP(s) वितरण सेवा को इस प्रोटोकॉल का कार्यान्वयन प्रदान करना चाहिए।

ध्यान दें कि यह अनुभाग टीएफ लाइट और टीएफजेएस मॉडल की मेजबानी को संबोधित नहीं करता है क्योंकि वे 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

संग्रह का मूल मॉडल निर्देशिका का मूल है और इसमें एक SaveModel होना चाहिए, जैसा कि इस उदाहरण में है:

# 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>
रिटर्न
303 प्रतिक्रिया के मुख्य भाग में gs://tfhub-modules/google/spice/2/uncompressed । फिर लाइब्रेरी उस जीसीएस गंतव्य से मॉडल को पढ़ती है।