מבוא
לזמן הריצה של TensorFlow יש רכיבים שמאוחלים בעצלתיים, מה שעלול לגרום להשהיה גבוהה עבור הבקשה/ות הראשונים שנשלחו לדגם לאחר טעינתו. חביון זה יכול להיות גבוה בכמה סדרי גודל מזו של בקשת הסקה בודדת.
כדי להפחית את ההשפעה של האתחול העצל על זמן השהיית הבקשה, אפשר להפעיל את האתחול של תת-המערכות והרכיבים בזמן טעינת המודל על ידי אספקת קבוצה לדוגמה של בקשות הסקה יחד עם SavedModel. תהליך זה ידוע כ"חימום" של הדגם.
נוֹהָג
SavedModel Warmup נתמך עבור Regress, Classify, MultiInference ו-Predict. כדי להפעיל חימום של הדגם בזמן הטעינה, צרף קובץ נתוני חימום מתחת לתיקיית המשנה assets.extra של ספריית SavedModel.
דרישות לחימום הדגם לעבוד כהלכה:
- שם קובץ חימום: 'tf_serving_warmup_requests'
- מיקום הקובץ: assets.extra/
- פורמט קובץ: TFRecord עם כל רשומה בתור PredictionLog .
- מספר שיאי החימום <= 1000.
- נתוני החימום חייבים להיות מייצגים את בקשות ההסקה ששימשו בהגשה.
יצירת נתוני חימום
ניתן להוסיף נתוני חימום בשתי דרכים:
- על ידי מילוי ישיר של בקשות החימום בדגם השמור המיוצא שלך. ניתן לעשות זאת על ידי יצירת סקריפט שקורא רשימה של בקשות להסקת מסקנות לדוגמה, המרת כל בקשה ל- PredictionLog (אם היא במקור בפורמט אחר) ושימוש ב- TFRecordWriter כדי לכתוב את הערכים של PredictionLog לתוך
YourSavedModel/assets.extra/tf_serving_warmup_requests
. - על ידי שימוש באפשרות TFX Infra Validator לייצא דגם שמור עם חימום . עם אפשרות זו ה-TFX Infa Validator יאכלס את
YourSavedModel/assets.extra/tf_serving_warmup_requests
על סמך בקשות האימות שסופקו דרך RequestSpec .