El componente de tubería Pusher TFX

El componente de empuje se utiliza para empujar un modelo validado para un destino de implementación durante el entrenamiento de modelo o re-entrenamiento. Antes de la implementación, Pusher se basa en una o más bendiciones de otros componentes de validación para decidir si impulsar el modelo o no.

  • Evaluador bendice el modelo si el nuevo modelo entrenado es "suficientemente bueno" para ser empujado a la producción.
  • (Opcional pero recomendado) InfraValidator bendice el modelo si el modelo es mecánicamente servable en un entorno de producción.

Componente de un empujador consume un modelo entrenado en SavedModel formato, y produce el mismo SavedModel, junto con versiones de metadatos.

Uso del componente de empuje

Un componente de canalización Pusher suele ser muy fácil de implementar y requiere poca personalización, ya que todo el trabajo lo realiza el componente Pusher TFX. El código típico se ve así:

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

Empujando un modelo producido desde InfraValidator.

(A partir de la versión 0.30.0)

InfraValidator también puede producir InfraBlessing artefacto que contiene un modelo con calentamiento , y el empujador puede empujarlo al igual que un Model de artefacto.

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

Más detalles están disponibles en la referencia de la API de empuje .