Komponent rurociągu Pusher TFX

Komponent Pusher służy do wypychania zweryfikowanego modelu do miejsca docelowego wdrożenia podczas uczenia modelu lub ponownego szkolenia. Przed wdrożeniem Pusher opiera się na jednym lub większej liczbie błogosławieństw innych komponentów walidacyjnych, aby zdecydować, czy wypchnąć model, czy nie.

  • Osoba oceniająca błogosławi model, jeśli nowy wytrenowany model jest „wystarczająco dobry”, aby można go było wprowadzić do produkcji.
  • (Opcjonalne, ale zalecane) InfraValidator błogosławi model, jeśli model nadaje się do mechanicznej obsługi w środowisku produkcyjnym.

Komponent Pusher wykorzystuje przeszkolony model w formacie SavedModel i generuje ten sam SavedModel wraz z metadanymi dotyczącymi wersji.

Korzystanie z komponentu Pusher

Komponent potoku Pusher jest zazwyczaj bardzo łatwy do wdrożenia i wymaga niewielkiego dostosowania, ponieważ całą pracę wykonuje komponent Pusher TFX. Typowy kod wygląda następująco:

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

Przepychanie modelu wyprodukowanego z InfraValidator.

(Od wersji 0.30.0)

InfraValidator może również wygenerować artefakt InfraBlessing zawierający model z rozgrzewką , a Pusher może go wypchnąć tak samo jak artefakt 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(...)
)

Więcej szczegółów można znaleźć w dokumentacji API Pusher .