Компонент конвейера Pusher TFX

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