Pusher コンポーネントは、モデルのトレーニングまたは再トレーニング中に検証済みのモデルをデプロイメント ターゲットにプッシュするために使用されます。デプロイメントの前に、プッシャーは他の検証コンポーネントからの 1 つ以上の祝福に依存して、モデルをプッシュするかどうかを決定します。
- 新しいトレーニング済みモデルが運用環境にプッシュするのに「十分に優れている」場合、評価者はモデルを祝福します。
- (オプションですが推奨) モデルが運用環境で機械的に使用可能な場合、 InfraValidator はモデルを祝福します。
Pusher コンポーネントは、 SavedModel形式でトレーニングされたモデルを使用し、バージョン管理メタデータとともに同じ SavedModel を生成します。
プッシャーコンポーネントの使用
すべての作業が Pusher TFX コンポーネントによって実行されるため、Pusher パイプライン コンポーネントは通常、展開が非常に簡単で、カスタマイズもほとんど必要ありません。典型的なコードは次のようになります。
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)
)
)
InfraValidator から生成されたモデルをプッシュします。
(バージョン0.30.0以降)
InfraValidator は、ウォームアップを含むモデルを含むInfraBlessing
アーティファクトを生成することもでき、Pusher は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(...)
)
詳細については、プッシャー API リファレンスを参照してください。