Il componente della pipeline TFX Pusher

Il componente Pusher viene utilizzato per spingere un modello validato per una destinazione di distribuzione durante l'allenamento modello o riqualificazione. Prima della distribuzione, Pusher fa affidamento su una o più benedizioni di altri componenti di convalida per decidere se spingere o meno il modello.

  • Valutatore benedice il modello se il nuovo modello di esperto è "abbastanza buono" per essere spinto alla produzione.
  • (Opzionale ma consigliato) InfraValidator benedice il modello se il modello è meccanicamente servibile in un ambiente di produzione.

Componente A spintore consuma un modello addestrato in SavedModel formato e produce la stessa SavedModel, insieme con versioni metadati.

Utilizzo del componente pusher

Un componente della pipeline Pusher è in genere molto facile da implementare e richiede poca personalizzazione, poiché tutto il lavoro viene svolto dal componente Pusher TFX. Il codice tipico è simile a questo:

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

Spingere un modello prodotto da InfraValidator.

(Dalla versione 0.30.0)

InfraValidator può anche produrre InfraBlessing manufatto contenente un modello con riscaldamento , e Pusher può spingere solo come un Model artefatto.

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

Maggiori dettagli sono disponibili nel riferimento API spintore .