תְצוּרָה
TFMA מאחסן את התצורה שלו בפרוטו שמועבר בסידרה ל-JSON. פרוטו זה מאחד את התצורה הנדרשת עבור נתוני קלט, נתוני פלט, מפרטי מודל, מפרטים מטריים ומפרטי חיתוך.
כל צינורות ה-TFMA משויכים למודל בסיסי (ראשי) ולאפס מודלים מועמדים (משניים). המודל הבסיסי והמועמד מוגדרים על ידי המשתמש בתחילת הצינור וכל אחד דורש שם ייחודי. להלן דוגמאות להגדרות תצורה טיפוסיות שמשתמש עשוי להשתמש בהן:
- הערכת מודל יחיד:
- לא רלוונטי (כלומר ללא שם)
- הערכה מבוססת אימות:
-
baseline
-
candidate
-
- הערכת השוואת מודלים:
-
my_model_a
-
my_model_b
-
מפרט דגם
מפרטי הדגם הם מסוג tfma.ModelSpec
ומשמשים להגדרת המיקום של דגם כמו גם פרמטרים ספציפיים לדגם אחרים. לדוגמה, להלן הגדרות טיפוסיות שיש להגדיר לפני הפעלת הערכה:
-
name
- שם הדגם (אם נעשה שימוש במספר דגמים) -
signature_name
- שם החתימה המשמשת לחיזויים (ברירת המחדל היאserving_default
). השתמשeval
אם אתה משתמש ב-EvalSavedModel. -
label_key
- שם התכונה המשויכת לתווית. -
example_weight_key
- שם התכונה המשויכת למשקל לדוגמה.
מפרט מדדים
מפרטי המדדים הם מסוג tfma.MetricsSpec
ומשמשים להגדרת המדדים שיחושבו כחלק מההערכה. בעיות למידת מכונה שונות משתמשות בסוגים שונים של מדדים ו-TFMA מציעה הרבה אפשרויות לקביעת תצורה והתאמה אישית של המדדים המחושבים. מכיוון שמדדים הם חלק גדול מאוד מ-TFMA, הם נדונים בפירוט בנפרד במדדים .
מפרט חיתוך
מפרטי החיתוך הם מסוג tfma.SlicingSpec
ומשמשים לקביעת הקריטריונים של הפרוסות שישמשו במהלך ההערכה. ניתן לבצע חיתוך באמצעות feature_keys
, feature_values
או שניהם. כמה דוגמאות למפרטי חיתוך הם כדלקמן:
-
{}
- פרוסה המורכבת מנתונים כוללים.
-
{ feature_keys: ["country"] }
- פרוסות עבור כל הערכים בתכונה "מדינה". לדוגמה, אנו עשויים לקבל פרוסות "country:us", "country:jp" וכו'.
-
{ feature_values: [{key: "country", value: "us"}] }
- פרוסה המורכבת מ"מדינה:נו".
-
{ feature_keys: ["country", "city"] }
- פרוסות עבור כל הערכים בתכונה "מדינה" מוצלבות עם כל הערכים בתכונה "עיר" (שים לב שזה עשוי להיות יקר).
-
{ feature_keys: ["country"] feature_values: [{key: "age", value: "20"}] }
- פרוסות עבור כל הערכים בתכונה "מדינה" עם הערך "גיל:20"
שים לב שמקשי תכונה עשויים להיות תכונות שעברו שינוי או תכונות קלט גולמיות. ראה tfma.SlicingSpec
למידע נוסף.
EvalSharedModel
בנוסף להגדרות התצורה, TFMA דורש גם ליצור מופע של tfma.EvalSharedModel
לשיתוף מודל בין שרשורים מרובים באותו תהליך. מופע המודל המשותף כולל מידע על סוג הדגם (keras וכו') וכיצד לטעון ולהגדיר את המודל מהמיקום השמור שלו בדיסק (למשל תגיות וכו'). ניתן להשתמש ב-API של tfma.default_eval_shared_model
כדי ליצור מופע ברירת מחדל בהינתן נתיב וקבוצת תגים.