يعد مكون 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 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 عبارة عن نظام خدمة مفتوح المصدر لنشر نماذج التعلم الآلي. يدعم مكون Pusher في TFX النشر إلى TensorFlow Serving ، مما يسمح للمستخدمين بنشر نماذجهم في بنية أساسية للخدمة الموزعة. يتيح ذلك تقديم نموذج عالي الأداء وقابل للتطوير ، مما يجعله مناسبًا لعمليات نشر الإنتاج. للنشر إلى خدمة TensorFlow ، يحتاج المستخدمون إلى توفير عنوان ومنفذ خادم نموذج خدمة TensorFlow.
على سبيل المثال:
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 التي تم إنشاؤها بواسطة مكون المدرب؟
- كيف يضمن مكون التحويل الاتساق بين بيئات التدريب والخدمة؟
- ما هو دور Apache Beam في إطار عمل TFX؟