Le composant du pipeline Pusher TFX

Le composant Pusher est utilisé pour pousser un modèle validé vers une cible de déploiement lors de la formation ou du recyclage du modèle. Avant le déploiement, Pusher s'appuie sur une ou plusieurs bénédictions d'autres composants de validation pour décider de pousser ou non le modèle.

  • L'évaluateur bénit le modèle si le nouveau modèle formé est « assez bon » pour être poussé en production.
  • (Facultatif mais recommandé) InfraValidator bénit le modèle si le modèle est mécaniquement utilisable dans un environnement de production.

Un composant Pusher consomme un modèle entraîné au format SavedModel et produit le même SavedModel, ainsi que des métadonnées de version.

Utilisation du composant Pusher

Un composant de pipeline Pusher est généralement très facile à déployer et nécessite peu de personnalisation, puisque tout le travail est effectué par le composant Pusher TFX. Le code typique ressemble à ceci :

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

Pousser un modèle produit à partir d'InfraValidator.

(À partir de la version 0.30.0)

InfraValidator peut également produire un artefact InfraBlessing contenant un modèle avec warmup , et Pusher peut le pousser comme un artefact 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(...)
)

Plus de détails sont disponibles dans la référence de l'API Pusher .