פורמטים של דגמי TF Hub
TF Hub מציע חלקי דגמים ניתנים לשימוש חוזר שניתן לטעון בחזרה, לבנות עליהם, ואולי להכשיר אותם מחדש בתוכנית TensorFlow. אלה מגיעים בשני פורמטים שונים:
- פורמט TF1 Hub המותאם אישית. השימוש העיקרי המיועד שלו הוא ב-TF1 (או במצב תאימות TF1 ב-TF2) דרך ה- hub.Module API שלו. פרטי תאימות מלאים למטה .
- הפורמט המקורי של TF2 SavedModel . השימוש העיקרי המיועד שלו הוא ב-TF2 דרך ממשקי ה-API של hub.load ו- hub.KerasLayer . פרטי תאימות מלאים למטה .
ניתן למצוא את פורמט הדגם בדף הדגם ב- 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() או מאומן ב-Estimator ש-model_fn שלו עוטף את המודל לפי המדריך המותאם model_fn . הערה: hub.KerasLayer לא ממלא אוספי גרפים כמו ממשקי API הישנים של tf.compat.v1.layers או hub.Module. | תמיכה מלאה ( מדריך לכוונון עדין של 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() מתוך מצב compat. | תמיכה מלאה (ראה המדריך המלא ליצירת TF2 SavedModel ) |
[1] "TF1 compat mode ב-TF2" מתייחס להשפעה המשולבת של ייבוא TF2 עם import tensorflow.compat.v1 as tf
והפעלת tf.disable_v2_behavior()
כמתואר במדריך TensorFlow Migration .