Ayuda a proteger la Gran Barrera de Coral con TensorFlow en Kaggle Únete Challenge

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 Pusher

Un componente de canalización de 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 por InfraValidator.

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