Компонент конвейера 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 .