مولفه Pusher برای هل دادن یک مدل معتبر به هدف استقرار در طول آموزش مدل یا آموزش مجدد استفاده می شود. قبل از استقرار، Pusher به یک یا چند موهبت از سایر مؤلفههای اعتبارسنجی متکی است تا تصمیم بگیرد که آیا مدل را فشار دهد یا نه.
- ارزیاب مدل را برکت می دهد اگر مدل آموزش دیده جدید "به اندازه کافی خوب" باشد که به سمت تولید سوق داده شود.
- (اختیاری اما توصیه می شود) اگر مدل به صورت مکانیکی در یک محیط تولید قابل استفاده باشد، InfraValidator مدل را برکت می دهد.
یک مؤلفه Pusher یک مدل آموزشدیده را در قالب SavedModel مصرف میکند و همان SavedModel را به همراه نسخهسازی ابرداده تولید میکند.
استفاده از کامپوننت Pusher
یک جزء Pusher Pipeline معمولاً بسیار آسان است و نیاز به سفارشی سازی کمی دارد، زیرا تمام کار توسط مؤلفه 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 موجود است.