רכיב SchemaGen TFX Pipeline

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

  • צורכת: סטטיסטיקה ממרכיב של StatisticsGen
  • פולטות: פרוטו של סכימת נתונים

להלן קטע מתוך פרוטו סכימה:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

ספריות ה-TFX הבאות משתמשות בסכימה:

  • אימות נתונים של TensorFlow
  • טרנספורמציה של TensorFlow
  • ניתוח מודל TensorFlow

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

ניתן להחזיר את הסכימה ששונתה לצינור באמצעות רכיב ImportSchemaGen. ניתן להסיר את רכיב SchemaGen ליצירת הסכימה הראשונית וכל הרכיבים במורד הזרם יכולים להשתמש בפלט של ImportSchemaGen. כמו כן, מומלץ להוסיף את ExampleValidator באמצעות הסכימה המיובאת כדי לבחון את נתוני ההדרכה באופן רציף.

אימות נתונים של SchemaGen ו- TensorFlow

SchemaGen עושה שימוש נרחב ב- TensorFlow Data Validation להסקת סכימה.

שימוש ברכיב SchemaGen

ליצירת הסכימה הראשונית

רכיב צינור SchemaGen הוא בדרך כלל קל מאוד לפריסה ודורש מעט התאמה אישית. קוד טיפוסי נראה כך:

schema_gen = tfx.components.SchemaGen(
    statistics=stats_gen.outputs['statistics'])

פרטים נוספים זמינים בהפניה ל-SchemaGen API .

לייבוא ​​הסכימה שנבדקה

הוסף את רכיב ImportSchemaGen לצינור כדי להביא את הגדרת הסכימה שנבדקה לתוך הצינור.

schema_gen = tfx.components.ImportSchemaGen(
    schema_file='/some/path/schema.pbtxt')

ה- schema_file צריך להיות נתיב מלא לקובץ הטקסט protobuf.

פרטים נוספים זמינים בהפניה ל-ImportSchemaGen API .