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 .