הצטרף אלינו ל-DevFest לאוקראינה 14-15 ביוני אונליין הירשם עכשיו

רכיב ה-Trainer TFX Pipeline

רכיב הצינור של Trainer TFX מאמן מודל TensorFlow.

מאמן ו- TensorFlow

מאמן עושה שימוש נרחב של פיתון TensorFlow API עבור דגמי אימונים.

רְכִיב

המאמן לוקח:

  • tf.דוגמאות המשמשות לאימון והערכה.
  • קובץ מודול שסופק על ידי המשתמש המגדיר את הלוגיקה של המאמן.
  • Protobuf ההגדרה של ארגומנטים הרכבת ארגומנטים eval.
  • (אופציונלי) סכימת נתונים שנוצרה על ידי רכיב SchemaGen צינור ושונתה באופן אופציונלי על ידי המפתח.
  • (אופציונלי) גרף טרנספורמציה המופק על ידי רכיב טרנספורמציה במעלה הזרם.
  • (אופציונלי) מודלים מאומנים מראש המשמשים לתרחישים כגון התנעה חמה.
  • היפרפרמטרים (אופציונליים), שיועברו לפונקציית מודול המשתמש. פרטים של אינטגרציה עם טיונר ניתן למצוא כאן .

מאמן פולט: לפחות דגם אחד להסקה/הגשה (בדרך כלל ב-SavedModelFormat) ואופציונלי מודל אחר ל-eval (בדרך כלל EvalSavedModel).

אנו מספקים תמיכה בפורמטי מודל חלופיים כגון TFLite דרך הספרייה שכתוב דגם . עיין בקישור לספריית שכתוב המודלים לדוגמאות כיצד להמיר שני מודלים של Estimator ו-Keras.

מאמן גנרי

מאמן גנרי מאפשר למפתחים להשתמש בכל API של מודל TensorFlow עם רכיב ה-Trainer. בנוסף לאומדני TensorFlow, מפתחים יכולים להשתמש במודלים של Keras או בלולאות אימון מותאמות אישית. לפרטים, עיין RFC עבור מאמן גנריות .

הגדרת רכיב המאמן

קוד צינור DSL טיפוסי עבור ה-Trainer הגנרי ייראה כך:

from tfx.components import Trainer

...

trainer = Trainer(
    module_file=module_file,
    examples=transform.outputs['transformed_examples'],
    transform_graph=transform.outputs['transform_graph'],
    train_args=trainer_pb2.TrainArgs(num_steps=10000),
    eval_args=trainer_pb2.EvalArgs(num_steps=5000))

מאמן ומפעיל מודול הדרכה, אשר צוין module_file פרמטר. במקום trainer_fn , A run_fn נדרש בקובץ מודול אם GenericExecutor צוין custom_executor_spec . trainer_fn היה אחראי ליצירת המודל. בנוסף לכך, run_fn גם צריך להתמודד עם חלק הכשרת פלט המודל המאולף עד למיקום רצוי שנתן FnArgs :

from tfx.components.trainer.fn_args_utils import FnArgs

def run_fn(fn_args: FnArgs) -> None:
  """Build the TF model and train it."""
  model = _build_keras_model()
  model.fit(...)
  # Save model to fn_args.serving_model_dir.
  model.save(fn_args.serving_model_dir, ...)

הנה קובץ מודול למשל עם run_fn .

שימו לב שאם לא נעשה שימוש ברכיב ה-Transform בצנרת, המאמן ייקח ישירות את הדוגמאות מ-ExampleGen:

trainer = Trainer(
    module_file=module_file,
    examples=example_gen.outputs['examples'],
    schema=infer_schema.outputs['schema'],
    train_args=trainer_pb2.TrainArgs(num_steps=10000),
    eval_args=trainer_pb2.EvalArgs(num_steps=5000))

פרטים נוספים זמינים פניית API המאמן .