Компонент 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:
Компонент 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?