Google I/O में ट्यूनिंग के लिए धन्यवाद। मांग पर सभी सत्र देखें मांग पर देखें

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

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

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

सामान्य यूआरएल सम्मेलन

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

  • TF हब प्रकाशक https://tfhub.dev/<publisher> फॉलो करते हैं
  • TF हब संग्रह https://tfhub.dev/<publisher>/collection/<collection_name> अनुसरण करते हैं
  • TF हब मॉडल में url https://tfhub.dev/<publisher>/<model_name>/<version> और अपरिवर्तित url https://tfhub.dev/<publisher>/<model_name> संस्करणित है https://tfhub.dev/<publisher>/<model_name> जो मॉडल के नवीनतम संस्करण को हल करता है।

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

  • TensorFlow मॉडल (SavedModel और TF1 हब फ़ॉर्मैट दोनों): TensorFlow मॉडल url में ?tf-hub-format=compressed संलग्न करें।
  • TFJS मॉडल: ?tfjs-format=compressed जोड़ें या रिमोट स्टोरेज से पढ़ने के लिए /model.json?tfjs-format=file
  • TF लाइट मॉडल: TF लाइट मॉडल url में ?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-format=compressed https://tfhub.dev/google/tfjs-model/spice/2/default/1?tfjs-format=compressed

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

टाइप मॉडल यूआरएल प्रतिक्रिया प्रकार यूआरएल परम अनुरोध यूआरएल
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-format=file https://tfhub.dev/google/tfjs-model/spice/2/default/1/model.json?tfjs-format=file

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

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

ध्यान दें कि यह खंड TF लाइट और TFJS मॉडल की मेजबानी को संबोधित नहीं करता है क्योंकि वे tensorflow_hub लाइब्रेरी के माध्यम से डाउनलोड नहीं किए जाते हैं। इन मॉडल प्रकारों की मेजबानी के बारे में अधिक जानकारी के लिए, कृपया ऊपर देखें।

संकुचित होस्टिंग

मॉडल tfhub.dev पर संपीड़ित tar.gz फ़ाइलों के रूप में संग्रहीत हैं। डिफ़ॉल्ट रूप से, टेंसरफ़्लो_हब लाइब्रेरी स्वचालित रूप से संपीड़ित मॉडल को डाउनलोड करती है। मॉडल url में ?tf-hub-format=compressed जोड़कर उन्हें मैन्युअल रूप से डाउनलोड भी किया जा सकता है, उदाहरण के लिए:

wget https://tfhub.dev/tensorflow/albert_en_xxlarge/1?tf-hub-format=compressed

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

# 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 लाइब्रेरी मॉडल लोडिंग APIs में से एक ( hub.KerasLayer , hub.load , आदि) को लागू किया जाता है, तो लाइब्रेरी मॉडल को डाउनलोड करती है, मॉडल को असम्पीडित करती है और इसे स्थानीय रूप से कैश करती है। tensorflow_hub लाइब्रेरी अपेक्षा करती है कि मॉडल URL संस्करणित हैं और किसी दिए गए संस्करण की मॉडल सामग्री अपरिवर्तनीय है, ताकि इसे अनिश्चित काल तक कैश किया जा सके। कैशिंग मॉडल के बारे में और जानें।

असम्पीडित होस्टिंग

जब पर्यावरण चर TFHUB_MODEL_LOAD_FORMAT या कमांड-लाइन फ़्लैग --tfhub_model_load_format UNCOMPRESSED पर सेट किया जाता है, तो मॉडल को स्थानीय रूप से डाउनलोड और असम्पीडित करने के बजाय सीधे रिमोट स्टोरेज (GCS) से पढ़ा जाता है। जब यह व्यवहार सक्षम होता है तो लाइब्रेरी ?tf-hub-format=uncompressed को मॉडल URL में जोड़ देती है। वह अनुरोध GCS पर उस फ़ोल्डर का पथ लौटाता है जिसमें असम्पीडित मॉडल फ़ाइलें होती हैं। उदाहरण के तौर पे,
https://tfhub.dev/google/spice/2?tf-hub-format=uncompressed
रिटर्न
gs://tfhub-modules/google/spice/2/uncompressed पुस्तकालय तब उस GCS गंतव्य से मॉडल को पढ़ता है।