Компонент Pusher у TensorFlow Extended (TFX) є фундаментальною частиною конвеєра TFX, який забезпечує розгортання навчених моделей у різних цільових середовищах. Цілі розгортання для компонента Pusher у TFX різноманітні та гнучкі, що дозволяє користувачам розгортати свої моделі на різних платформах залежно від їхніх конкретних вимог. У цій відповіді ми розглянемо деякі загальні цілі розгортання компонента Pusher і надамо вичерпне пояснення кожного.
1. Локальне розгортання:
Компонент Pusher підтримує локальне розгортання, що дозволяє користувачам розгортати свої навчені моделі на локальній машині. Це корисно для цілей тестування та розробки, коли модель можна розгорнути та оцінити без потреби в розподіленій системі чи зовнішній інфраструктурі. Локальне розгортання досягається простим визначенням локального шляху, де зберігаються артефакти моделі.
приклад:
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. Google Cloud AI Platform:
Компонент Pusher також підтримує розгортання на Google Cloud AI Platform, керованій службі, яка забезпечує безсерверне середовище для запуску моделей машинного навчання. Це дозволяє користувачам легко розгортати свої моделі в хмарі та користуватися перевагами масштабованості та надійності, які пропонує Google Cloud. Для розгортання на Google Cloud AI Platform користувачі повинні надати ідентифікатор проекту, назву моделі та назву версії.
приклад:
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. Обслуговування TensorFlow:
TensorFlow Serving — це система обслуговування з відкритим кодом для розгортання моделей машинного навчання. Компонент Pusher у TFX підтримує розгортання в TensorFlow Serving, що дозволяє користувачам розгортати свої моделі в розподіленій інфраструктурі обслуговування. Це забезпечує високопродуктивне та масштабоване обслуговування моделі, що робить її придатною для розгортання у виробництві. Для розгортання в TensorFlow Serving користувачі повинні надати адресу та порт сервера моделі TensorFlow Serving.
приклад:
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. Інші спеціальні цілі розгортання:
Компонент Pusher у TFX розширюється, що дозволяє користувачам визначати власні цілі розгортання. Це дає користувачам можливість розгортати свої моделі в будь-якому середовищі чи системі, яка може використовувати моделі TensorFlow. Користувачі можуть реалізувати свій власний підклас `PushDestination` і зареєструвати його в компоненті Pusher, щоб увімкнути розгортання в цільовому середовищі.
приклад:
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') )
Компонент Pusher у TFX підтримує різні цілі розгортання, зокрема локальне розгортання, Google Cloud AI Platform, TensorFlow Serving і спеціальні цілі розгортання. Ця гнучкість дозволяє користувачам розгортати свої навчені моделі в різних середовищах залежно від їхніх конкретних потреб і налаштування інфраструктури.
Інші останні запитання та відповіді щодо Розподілена обробка та компоненти:
- Яке призначення компонента Evaluator у TFX?
- Які два типи SavedModels генеруються компонентом Trainer?
- Як компонент Transform забезпечує узгодженість між середовищем навчання та обслуговування?
- Яка роль Apache Beam у фреймворку TFX?