تنسيقات نموذج TF Hub
يقدم TF Hub قطعًا نموذجية قابلة لإعادة الاستخدام يمكن تحميلها مرة أخرى والبناء عليها وربما إعادة تدريبها في برنامج TensorFlow. هذه تأتي في شكلين مختلفين:
- تنسيق TF1 Hub المخصص. استخدامه الرئيسي المقصود هو في TF1 (أو وضع التوافق TF1 في TF2) عبر hub.Module API . تفاصيل التوافق الكامل أدناه .
- تنسيق TF2 SavedModel الأصلي. استخدامه الرئيسي المقصود هو في TF2 عبر hub.load و hub.KerasLayer APIs. تفاصيل التوافق الكامل أدناه .
يمكن العثور على تنسيق النموذج في صفحة النموذج على tfhub.dev . قد لا يكون تحميل/استدلال النموذج أو الضبط الدقيق أو الإنشاء مدعومًا في TF1/2 بناءً على تنسيقات النموذج.
توافق تنسيق TF1 Hub
عملية | وضع التوافق TF1/ TF1 في TF2 [1] | TF2 |
تحميل / الاستدلال | مدعوم بالكامل ( دليل تحميل تنسيق TF1 Hub الكامل ) m = hub.Module(handle)
outputs = m(inputs) | يوصى باستخدام إما hub.load m = hub.load(handle)
outputs = m.signatures["sig"](inputs) أو hub.KerasLayer m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs) |
الكون المثالى | مدعوم بالكامل ( دليل الضبط الدقيق لتنسيق TF1 Hub الكامل ) m = hub.Module(handle,
trainable=True,
tags=["train"]*is_training)
outputs = m(inputs) ملاحظة: الوحدات التي لا تحتاج إلى رسم بياني منفصل للقطار لا تحتوي على علامة قطار. | غير معتمد |
الخلق | مدعوم بالكامل (راجع دليل إنشاء تنسيق TF1 Hub الكامل ) ملاحظة: تم تصميم تنسيق TF1 Hub نحو TF1 وهو مدعوم جزئيًا فقط في TF2. فكر في إنشاء نموذج TF2 SavedModel. | غير معتمد |
توافق TF2 SavedModel
غير مدعوم قبل TF1.15.
عملية | وضع التوافق TF1.15/ TF1 في TF2 [1] | TF2 |
تحميل / الاستدلال | استخدم إما hub.load m = hub.load(handle)
outputs = m(inputs) أو hub.KerasLayer m = hub.KerasLayer(handle)
outputs = m(inputs) | مدعوم بالكامل ( دليل تحميل TF2 SavedModel الكامل ). استخدم إما hub.load m = hub.load(handle)
outputs = m(inputs) أو hub.KerasLayer m = hub.KerasLayer(handle)
outputs = m(inputs) |
الكون المثالى | مدعوم لـ hub.KerasLayer المستخدم في tf.keras.Model عند تدريبه باستخدام Model.fit() أو تدريبه في مُقدِّر يقوم model_fn بتغليف النموذج وفقًا لدليل model_fn المخصص . ملاحظة: hub.KerasLayer لا يملأ مجموعات الرسوم البيانية مثلما فعلت tf.compat.v1.layers القديمة أو hub.Module APIs. | مدعوم بالكامل ( دليل الضبط الدقيق الكامل لـ TF2 SavedModel ). استخدم إما hub.load: m = hub.load(handle)
outputs = m(inputs, training=is_training) أو hub.KerasLayer: m = hub.KerasLayer(handle, trainable=True)
outputs = m(inputs) |
الخلق | يمكن استدعاء TF2 API tf.saved_model.save() من داخل وضع التوافق. | مدعوم بالكامل (راجع دليل إنشاء TF2 SavedModel الكامل ) |
[1] يشير "وضع التوافق TF1 في TF2" إلى التأثير المشترك لاستيراد TF2 مع import tensorflow.compat.v1 as tf
وتشغيل tf.disable_v2_behavior()
كما هو موضح في دليل ترحيل TensorFlow .