רכיב ה-Pusher משמש לדחיפת מודל מאומת ליעד פריסה במהלך אימון מודל או אימון מחדש. לפני הפריסה, Pusher מסתמך על ברכה אחת או יותר ממרכיבי אימות אחרים כדי להחליט אם לדחוף את המודל או לא.
- המעריך מברך את המודל אם הדגם החדש המיומן "טוב מספיק" כדי להידחק לייצור.
- (אופציונלי אך מומלץ) InfraValidator מברך על הדגם אם הדגם ניתן להגשה מכנית בסביבת ייצור.
רכיב Pusher צורך מודל מאומן בפורמט SavedModel , ומייצר את אותו SavedModel, יחד עם מטא נתונים של גרסאות.
שימוש ברכיב ה-Pusher
רכיב צינור של Pusher הוא בדרך כלל קל מאוד לפריסה ודורש מעט התאמה אישית, מכיוון שכל העבודה נעשית על ידי רכיב Pusher TFX. קוד טיפוסי נראה כך:
pusher = Pusher(
model=trainer.outputs['model'],
model_blessing=evaluator.outputs['blessing'],
infra_blessing=infra_validator.outputs['blessing'],
push_destination=tfx.proto.PushDestination(
filesystem=tfx.proto.PushDestination.Filesystem(
base_directory=serving_model_dir)
)
)
דחיפת דגם שהופק מ-InfraValidator.
(מגרסה 0.30.0)
InfraValidator יכול גם לייצר חפץ InfraBlessing
המכיל דגם עם חימום , ו-Pusher יכול לדחוף אותו בדיוק כמו חפץ Model
.
infra_validator = InfraValidator(
...,
# make_warmup=True will produce a model with warmup requests in its
# 'blessing' output.
request_spec=tfx.proto.RequestSpec(..., make_warmup=True)
)
pusher = Pusher(
# Push model from 'infra_blessing' input.
infra_blessing=infra_validator.outputs['blessing'],
push_destination=tfx.proto.PushDestination(...)
)
פרטים נוספים זמינים בהפניה של Pusher API .