تنسيقات نموذج 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 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 القديم أو المحور. | مدعوم بالكامل ( دليل ضبط 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 Migration .