Komponenta Pusher v TensorFlow Extended (TFX) je základní součástí potrubí TFX, která zajišťuje nasazení trénovaných modelů do různých cílových prostředí. Cíle nasazení pro komponentu Pusher v TFX jsou různorodé a flexibilní, což uživatelům umožňuje nasadit své modely na různé platformy v závislosti na jejich specifických požadavcích. V této odpovědi prozkoumáme některé běžné cíle nasazení pro komponentu Pusher a poskytneme komplexní vysvětlení každého z nich.
1. Místní nasazení:
Komponenta Pusher podporuje místní nasazení, které uživatelům umožňuje nasadit své natrénované modely na místním počítači. To je užitečné pro účely testování a vývoje, kdy lze model nasadit a vyhodnotit bez potřeby distribuovaného systému nebo externí infrastruktury. Místní nasazení je dosaženo jednoduchým zadáním místní cesty, kde jsou uloženy artefakty modelu.
Příklad:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( filesystem=pusher_pb2.PushDestination.Filesystem( base_directory='/path/to/local/deployment' ) ) )
2. Platforma Google Cloud AI:
Komponenta Pusher také podporuje nasazení do Google Cloud AI Platform, spravované služby, která poskytuje prostředí bez serveru pro spouštění modelů strojového učení. To uživatelům umožňuje snadno nasadit své modely do cloudu a využívat škálovatelnost a spolehlivost, kterou nabízí Google Cloud. K nasazení na platformu Google Cloud AI musí uživatelé poskytnout ID projektu, název modelu a název verze.
Příklad:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( ai_platform_push=pusher_pb2.PushDestination.AIPlatformPush( project_id='my-project', model_id='my-model', version_id='v1' ) ) )
3. Podání TensorFlow:
TensorFlow Serving je open-source obslužný systém pro nasazování modelů strojového učení. Komponenta Pusher v TFX podporuje nasazení do TensorFlow Serving, což uživatelům umožňuje nasadit své modely do distribuované infrastruktury. To umožňuje vysoce výkonné a škálovatelné poskytování modelů, takže je vhodné pro produkční nasazení. Pro nasazení do TensorFlow Serving musí uživatelé poskytnout adresu a port modelového serveru TensorFlow Serving.
Příklad:
python pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=pusher_pb2.PushDestination( tensorflow_serving=pusher_pb2.PushDestination.TensorFlowServing( tags=['serve'], server='localhost:8500' ) ) )
4. Další vlastní cíle nasazení:
Komponenta Pusher v TFX je navržena tak, aby byla rozšiřitelná a umožnila uživatelům definovat své vlastní cíle nasazení. To dává uživatelům flexibilitu při nasazení svých modelů do jakéhokoli prostředí nebo systému, který může využívat modely TensorFlow. Uživatelé mohou implementovat svou vlastní podtřídu `PushDestination` a zaregistrovat ji u komponenty Pusher, aby umožnili nasazení do jejich cílového prostředí.
Příklad:
python class MyCustomPushDestination(pusher_pb2.PushDestination): def __init__(self, my_custom_arg): self.my_custom_arg = my_custom_arg pusher = Pusher( model=trainer.outputs['model'], model_blessing=evaluator.outputs['blessing'], push_destination=MyCustomPushDestination(my_custom_arg='custom_value') )
Komponenta Pusher v TFX podporuje různé cíle nasazení, včetně místního nasazení, Google Cloud AI Platform, TensorFlow Serving a vlastních cílů nasazení. Tato flexibilita umožňuje uživatelům nasadit své natrénované modely do různých prostředí v závislosti na jejich specifických potřebách a nastavení infrastruktury.
Další nedávné otázky a odpovědi týkající se Distribuované zpracování a komponenty:
- Jaký je účel komponenty Evaluator v TFX?
- Jaké dva typy SavedModels generuje komponenta Trainer?
- Jak komponenta Transform zajišťuje konzistenci mezi školicím a obslužným prostředím?
- Jaká je role Apache Beam v rámci TFX?