يصف هذا المستند اصطلاحات عنوان URL المستخدمة عند استضافة جميع أنواع النماذج على نماذجtfhub.dev - TFJS و TF Lite و TensorFlow. يصف أيضًا البروتوكول المستند إلى HTTP (S) الذي تنفذه مكتبة tensorflow_hub
من أجل تحميل نماذج TensorFlow من tfhub.dev والخدمات المتوافقة في برامج TensorFlow.
الميزة الرئيسية الخاصة به هي استخدام نفس عنوان URL في التعليمات البرمجية لتحميل نموذج وفي المستعرض لعرض وثائق النموذج.
اصطلاحات URL العامة
tfhub.dev يدعم تنسيقات URL التالية:
- يتبع ناشرو TF Hub
https://tfhub.dev/<publisher>
- تتبع مجموعات TF Hub
https://tfhub.dev/<publisher>/collection/<collection_name>
- تحتوي نماذج TF Hub على إصدار url
https://tfhub.dev/<publisher>/<model_name>/<version>
و unversion urlhttps://tfhub.dev/<publisher>/<model_name>
الذي ينتقل إلى أحدث إصدار من النموذج.
يمكن تنزيل نماذج TF Hub كأصول مضغوطة عن طريق إلحاق معلمات URL بـ tfhub.dev model. ومع ذلك ، فإن معلمات URL المطلوبة لتحقيق ذلك تعتمد على نوع النموذج:
- نماذج TensorFlow (تنسيقات SavedModel و TF1 Hub): قم بإلحاق
?tf-hub-format=compressed
إلى عنوان url الخاص بنموذج TensorFlow. - نماذج TFJS: قم بإلحاق
?tfjs-format=compressed
إلى عنوان url الخاص بنموذج TFJS لتنزيل الملف المضغوط أو/model.json?tfjs-format=file
لقراءته من التخزين البعيد. - نماذج TF lite: قم بإلحاق
?lite-format=tflite
إلى عنوان url الخاص بنموذج TF Lite.
فمثلا:
يكتب | نموذج URL | نوع التنزيل | معلمة URL | تحميل URL |
TensorFlow (SavedModel ، تنسيق TF1 Hub) | https: //tfhub.dev/ google / spice / 2 | .tar.gz | ؟ tf-hub-format = مضغوط | https: //tfhub.dev/ google / spice / 2؟ tf-hub-format = مضغوط |
TF لايت | 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 = المضغوط |
بالإضافة إلى ذلك ، تتم استضافة بعض الطرز أيضًا بتنسيق يمكن قراءته مباشرةً من التخزين البعيد دون تنزيلها. هذا مفيد بشكل خاص إذا لم يكن هناك تخزين محلي متاح ، مثل تشغيل نموذج TF.js في المستعرض أو تحميل SavedModel على Colab . اعلم أن قراءة النماذج التي تتم استضافتها عن بُعد دون تنزيلها محليًا قد تزيد من زمن الانتقال.
يكتب | نموذج URL | نوع الاستجابة | معلمة URL | طلب URL |
TensorFlow (SavedModel ، تنسيق TF1 Hub) | https: //tfhub.dev/ google / spice / 2 | سلسلة (المسار إلى مجلد GCS حيث يتم تخزين النموذج غير المضغوط) | ؟ tf-hub-format = غير مضغوط | 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 |
بروتوكول مكتبة tensorflow_hub
يصف هذا القسم كيف نستضيف النماذج على tfhub.dev للاستخدام مع مكتبة tensorflow_hub. إذا كنت ترغب في استضافة مستودع النموذج الخاص بك للعمل مع مكتبة tensorflow_hub ، فيجب أن توفر خدمة توزيع HTTP (s) تنفيذًا لهذا البروتوكول.
لاحظ أن هذا القسم لا يتناول استضافة نماذج TF Lite و TFJS نظرًا لعدم تنزيلها عبر مكتبة tensorflow_hub
. لمزيد من المعلومات حول استضافة أنواع النماذج هذه ، يرجى التحقق أعلاه .
استضافة مضغوطة
يتم تخزين النماذج في tfhub.dev كملفات tar.gz مضغوطة. بشكل افتراضي ، تقوم مكتبة tensorflow_hub بتنزيل النموذج المضغوط تلقائيًا. يمكن أيضًا تنزيلها يدويًا عن طريق إلحاق ?tf-hub-format=compressed
إلى عنوان url للنموذج ، على سبيل المثال:
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
سوف تحتوي كرات Tarballs للاستخدام مع تنسيق TF1 Hub القديم أيضًا على ملف ./tfhub_module.pb
.
عندما يتم استدعاء أحد واجهات برمجة تطبيقات تحميل نموذج مكتبة tensorflow_hub
( 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
في متن استجابة 303. ثم تقرأ المكتبة النموذج من وجهة GCS.