توافق النموذج مع TF1 / TF2

تنسيقات نموذج TF Hub

يقدم TF Hub قطعًا نموذجية قابلة لإعادة الاستخدام يمكن تحميلها مرة أخرى والبناء عليها وربما إعادة تدريبها في برنامج TensorFlow. هذه تأتي في شكلين مختلفين:

يمكن العثور على تنسيق النموذج في صفحة النموذج على 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 .