O componente Pusher TFX Pipeline

O componente Pusher é usado para enviar um modelo validado para um destino de implantação durante o treinamento ou retreinamento do modelo. Antes da implantação, o Pusher depende de uma ou mais bênçãos de outros componentes de validação para decidir se deve ou não enviar o modelo.

  • O avaliador abençoa o modelo se o novo modelo treinado for "bom o suficiente" para ser colocado em produção.
  • (Opcional, mas recomendado) O InfraValidator abençoa o modelo se o modelo puder ser atendido mecanicamente em um ambiente de produção.

Um componente Pusher consome um modelo treinado no formato SavedModel e produz o mesmo SavedModel, juntamente com metadados de controle de versão.

Usando o componente empurrador

Um componente de pipeline Pusher normalmente é muito fácil de implantar e requer pouca personalização, já que todo o trabalho é feito pelo componente Pusher TFX. O código típico é assim:

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)
 
)
)

Empurrando um modelo produzido a partir do InfraValidator.

(Da versão 0.30.0)

O InfraValidator também pode produzir o artefato InfraBlessing contendo um modelo com warmup , e o Pusher pode pressioná-lo como um artefato 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(...)
)

Mais detalhes estão disponíveis na referência da API Pusher .