Пусхер компонента у ТенсорФлов Ектендед (ТФКС) је фундаментални део ТФКС цевовода који се бави применом обучених модела у различитим циљним окружењима. Циљеви примене Пусхер компоненте у ТФКС-у су разноврсни и флексибилни, омогућавајући корисницима да примене своје моделе на различите платформе у зависности од њихових специфичних захтева. У овом одговору ћемо истражити неке од уобичајених циљева примене за Пусхер компоненту и пружити свеобухватно објашњење сваког од њих.
1. Локална примена:
Пусхер компонента подржава локалну примену, што омогућава корисницима да имплементирају своје обучене моделе на локалној машини. Ово је корисно у сврхе тестирања и развоја, где се модел може применити и проценити без потребе за дистрибуираним системом или екстерном инфраструктуром. Локална примена се постиже једноставним навођењем локалне путање где се чувају артефакти модела.
primer:
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. Гоогле Цлоуд АИ платформа:
Пусхер компонента такође подржава примену на Гоогле Цлоуд АИ Платформ, управљану услугу која обезбеђује окружење без сервера за покретање модела машинског учења. Ово омогућава корисницима да лако имплементирају своје моделе у облак и искористе предности скалабилности и поузданости које нуди Гоогле Цлоуд. Да би се применили на Гоогле Цлоуд АИ платформу, корисници треба да наведу ИД пројекта, назив модела и назив верзије.
primer:
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. ТенсорФлов послуживање:
ТенсорФлов Сервинг је систем за сервирање отвореног кода за примену модела машинског учења. Пусхер компонента у ТФКС-у подржава примену на ТенсорФлов Сервинг, омогућавајући корисницима да имплементирају своје моделе на дистрибуирану инфраструктуру за сервирање. Ово омогућава високо перформансе и скалабилно послуживање модела, што га чини погодним за примену у производњи. Да би се применили на ТенсорФлов Сервинг, корисници морају да обезбеде адресу и порт сервера модела ТенсорФлов Сервинг.
primer:
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. Други прилагођени циљеви примене:
Компонента Пусхер у ТФКС-у је дизајнирана да буде проширива, омогућавајући корисницима да дефинишу сопствене прилагођене циљеве примене. Ово корисницима даје флексибилност да имплементирају своје моделе у било које окружење или систем који може да користи ТенсорФлов моделе. Корисници могу да имплементирају сопствену прилагођену подкласу `ПусхДестинатион` и региструју је у компоненти Пусхер да би омогућили примену у свом циљном окружењу.
primer:
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') )
Компонента Пусхер у ТФКС-у подржава различите циљеве примене, укључујући локалну примену, Гоогле Цлоуд АИ платформу, ТенсорФлов Сервинг и прилагођене циљеве примене. Ова флексибилност омогућава корисницима да имплементирају своје обучене моделе у различита окружења у зависности од њихових специфичних потреба и подешавања инфраструктуре.
Остала недавна питања и одговори у вези Дистрибуирана обрада и компоненте:
- Која је сврха компоненте Евалуатор у ТФКС-у?
- Које су две врсте СаведМодела које генерише компонента Траинер?
- Како компонента Трансформ обезбеђује доследност између окружења за обуку и служење?
- Која је улога Апацхе Беам-а у ТФКС оквиру?