مقدمة
يستضيف TensorFlow Hub نماذج لمجموعة متنوعة من المهام. يتم تشجيع النماذج لنفس المهمة على تنفيذ واجهة برمجة تطبيقات مشتركة حتى يتمكن مستهلكو النماذج من تبادلها بسهولة دون تعديل التعليمات البرمجية التي تستخدمها، حتى لو كانت تأتي من ناشرين مختلفين.
الهدف هو جعل تبادل النماذج المختلفة لنفس المهمة أمرًا بسيطًا مثل تبديل المعلمة الفائقة ذات قيمة السلسلة. مع ذلك، يمكن للمستهلكين النموذجيين العثور بسهولة على أفضل منتج لمشكلتهم.
يجمع هذا الدليل مواصفات واجهات برمجة التطبيقات الشائعة للنماذج بتنسيق TF2 SavedModel . (يحل محل التوقيعات العامة لتنسيق TF1 Hub المهمل الآن.)
النموذج المحفوظ القابل لإعادة الاستخدام: الأساس المشترك
تحدد واجهة برمجة التطبيقات SavedModel القابلة لإعادة الاستخدام الاصطلاحات العامة حول كيفية تحميل SavedModel مرة أخرى إلى برنامج Python وإعادة استخدامه كجزء من نموذج TensorFlow أكبر.
الاستخدام الأساسي:
obj = hub.load("path/to/model") # That's tf.saved_model.load() after download.
outputs = obj(inputs, training=False) # Invokes the tf.function obj.__call__.
بالنسبة لمستخدمي Keras، تعتمد فئة hub.KerasLayer
على واجهة برمجة التطبيقات هذه لتغليف SavedModel القابل لإعادة الاستخدام كطبقة Keras (حماية مستخدمي Keras من تفاصيلها)، مع المدخلات والمخرجات وفقًا لواجهات برمجة التطبيقات الخاصة بالمهمة المدرجة أدناه.
واجهات برمجة التطبيقات الخاصة بالمهام
تعمل هذه على تحسين واجهة برمجة التطبيقات SavedModel القابلة لإعادة الاستخدام مع اصطلاحات لمهام ML معينة وأنواع البيانات.