ממשקי API נפוצים של SavedModel עבור TF Hub

מבוא

TensorFlow Hub מארח דגמים למגוון משימות. מודלים עבור אותה משימה מעודדים ליישם API משותף כך שצרכני מודלים יוכלו להחליף אותם בקלות מבלי לשנות את הקוד שמשתמש בהם, גם אם הם מגיעים מבעלי אתרים שונים.

המטרה היא להפוך את החלפת מודלים שונים לאותה משימה לפשוטה כמו החלפת היפרפרמטר בעל ערך מחרוזת. עם זה, צרכני דגמים יכולים למצוא בקלות את הטוב ביותר עבור הבעיה שלהם.

ספרייה זו אוספת מפרטים של ממשקי API נפוצים עבור דגמים בפורמט TF2 SavedModel . (הוא מחליף את החתימות הנפוצות עבור פורמט TF1 Hub שהוצא משימוש כעת.)

SavedModel לשימוש חוזר: הבסיס המשותף

ה- Reusable SavedModel API מגדיר מוסכמות כלליות כיצד לטעון 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 מסתמכת על ממשק API זה כדי לעטוף את ה-Reusable SavedModel כשכבת Keras (מגן על משתמשי Keras מפני הפרטים שלו), עם כניסות ויציאות בהתאם לממשקי ה-API הספציפיים למשימה המפורטים להלן.

ממשקי API ספציפיים למשימה

אלה משכללים את ה-Reusable SavedModel API עם מוסכמות עבור משימות וסוגי נתונים מסוימים של ML.