Компонент 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 .