Кампанент 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:
Кампанент Pusher таксама падтрымлівае разгортванне на Google Cloud AI Platform, кіраванай службе, якая забяспечвае бессервернае асяроддзе для запуску мадэляў машыннага навучання. Гэта дазваляе карыстальнікам лёгка разгортваць свае мадэлі ў воблаку і карыстацца перавагамі маштабаванасці і надзейнасці, якія прапануе Google Cloud. Для разгортвання на платформе Google Cloud AI карыстальнікі павінны прадаставіць ідэнтыфікатар праекта, назву мадэлі і назву версіі.
прыклад:
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 і карыстальніцкія мэты разгортвання. Такая гібкасць дазваляе карыстальнікам разгортваць свае падрыхтаваныя мадэлі ў розных асяроддзях у залежнасці ад іх канкрэтных патрэб і налад інфраструктуры.
Іншыя апошнія пытанні і адказы адносна Размеркаваная апрацоўка і кампаненты:
- Якое прызначэнне кампанента ацэншчыка ў TFX?
- Якія два тыпы SavedModels ствараюцца кампанентам Trainer?
- Як кампанент Transform забяспечвае ўзгодненасць паміж асяроддзем навучання і абслугоўвання?
- Якая роля Apache Beam у структуры TFX?