Pusher კომპონენტი TensorFlow Extended-ში (TFX) არის TFX მილსადენის ფუნდამენტური ნაწილი, რომელიც ახორციელებს გაწვრთნილი მოდელების განლაგებას სხვადასხვა სამიზნე გარემოში. TFX-ში Pusher კომპონენტის განლაგების სამიზნეები მრავალფეროვანი და მოქნილია, რაც მომხმარებლებს საშუალებას აძლევს განათავსონ თავიანთი მოდელები სხვადასხვა პლატფორმებზე, მათი სპეციფიკური მოთხოვნებიდან გამომდინარე. ამ პასუხში ჩვენ განვიხილავთ 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 პლატფორმაზე განთავსებას, მართულ სერვისს, რომელიც უზრუნველყოფს უსერვერო გარემოს მანქანური სწავლების მოდელების გასაშვებად. ეს საშუალებას აძლევს მომხმარებლებს მარტივად განათავსონ თავიანთი მოდელები ღრუბელში და ისარგებლონ Google Cloud-ის მიერ შემოთავაზებული მასშტაბურობითა და საიმედოობით. Google Cloud AI პლატფორმაზე განსათავსებლად მომხმარებლებმა უნდა მიაწოდონ პროექტის ID, მოდელის სახელი და ვერსიის სახელი.
მაგალითი:
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 სერვისში, რაც მომხმარებლებს საშუალებას აძლევს განათავსონ თავიანთი მოდელები განაწილებულ სერვის ინფრასტრუქტურაში. ეს საშუალებას იძლევა მაღალი ხარისხის და მასშტაბირებადი მოდელის მომსახურება, რაც მას შესაფერისს ხდის წარმოების განლაგებისთვის. 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 პლატფორმას, TensorFlow სერვისს და პერსონალურად განლაგების მიზნებს. ეს მოქნილობა საშუალებას აძლევს მომხმარებლებს განათავსონ თავიანთი გაწვრთნილი მოდელები სხვადასხვა გარემოში, მათი სპეციფიკური საჭიროებებისა და ინფრასტრუქტურის დაყენებიდან გამომდინარე.
სხვა ბოლოდროინდელი კითხვები და პასუხები განაწილებული დამუშავება და კომპონენტები:
- რა არის Evaluator კომპონენტის მიზანი TFX-ში?
- რა არის Trainer კომპონენტის მიერ გენერირებული SavedModels-ის ორი ტიპი?
- როგორ უზრუნველყოფს Transform კომპონენტი თანმიმდევრულობას სასწავლო და მომსახურე გარემოს შორის?
- რა როლი აქვს Apache Beam-ს TFX ჩარჩოში?