يتم استخدام مكون Pusher لدفع النموذج الذي تم التحقق من صحته إلى هدف النشر أثناء تدريب النموذج أو إعادة التدريب. قبل النشر، يعتمد Pusher على نعمة واحدة أو أكثر من مكونات التحقق الأخرى لتحديد ما إذا كان سيتم دفع النموذج أم لا.
- يبارك المقيِّم النموذج إذا كان النموذج المدرب الجديد "جيدًا بما يكفي" ليتم دفعه إلى الإنتاج.
- (اختياري ولكن موصى به) يبارك InfraValidator النموذج إذا كان النموذج قابلاً للعرض ميكانيكيًا في بيئة الإنتاج.
يستهلك مكون Pusher نموذجًا مدربًا بتنسيق SavedModel ، وينتج نفس SavedModel، بالإضافة إلى بيانات التعريف الخاصة بالإصدار.
باستخدام مكون انتهازي
عادةً ما يكون نشر مكون خط أنابيب 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 .