بالنقر فوق “قبول جميع ملفات تعريف الارتباط”، فإنك توافق على تخزين ملفات تعريف الارتباط على جهازك لتحسين التنقل في الموقع وتحليل استخدام الموقع والمساعدة في جهودنا التسويقية. مزيد من المعلومات
إعدادات ملفات تعريف الارتباط
بالنقر فوق “قبول جميع ملفات تعريف الارتباط”، فإنك توافق على تخزين ملفات تعريف الارتباط على جهازك لتحسين التنقل في الموقع وتحليل استخدام الموقع والمساعدة في جهودنا التسويقية. مزيد من المعلومات
عزز تدريب ونشر نموذج Ultralytics YOLOv5 باستخدام DeepSparse من Neural Magic للحصول على أداء من فئة وحدة معالجة الرسومات على وحدات المعالجة المركزية. حقق عمليات نشر YOLOv5 أسرع وقابلة للتطوير.
هل تريد تسريع تدريب ونشر نماذج YOLOv5 الخاصة بك؟ نحن نوفر لك كل ما تحتاجه! نقدم لك شريكنا الأحدث، Neural Magic. نظرًا لأن Neural Magic توفر أدوات برمجية تؤكد على ذروة أداء النموذج وبساطة سير العمل، فمن الطبيعي أن نجتمع معًا لتقديم حل لجعل عملية نشر YOLOv5 أفضل.
DeepSparse هو وقت تشغيل الاستدلال لوحدة المعالجة المركزية (CPU) الخاص بـ Neural Magic، والذي يستفيد من التناثر والحساب منخفض الدقة داخل الشبكات العصبية لتقديم أداء استثنائي على أجهزة السلع. على سبيل المثال، بالمقارنة مع خط الأساس لوقت تشغيل ONNX، يقدم DeepSparse تسريعًا بمقدار 5.8x لـ YOLOv5s يعمل على نفس الجهاز!
لأول مرة، يمكن لأحمال عمل التعلم العميق الخاصة بك تلبية متطلبات أداء الإنتاج دون تعقيد وتكاليف مسرعات الأجهزة. ببساطة، يمنحك DeepSparse أداء وحدات معالجة الرسومات وبساطة البرنامج:
عمليات نشر مرنة: يتم تشغيله باستمرار عبر السحابة ومركز البيانات والحافة مع أي مزود أجهزة.
قابلية التوسع اللانهائية: قم بالتوسع باستخدام Kubernetes القياسي، أو عموديًا إلى مئات النوى، أو مجردة بالكامل باستخدام الحوسبة بدون خادم.
سهولة التكامل: استخدم واجهات برمجة تطبيقات نظيفة لدمج النموذج الخاص بك في تطبيق ومراقبته في الإنتاج
حقق أداءً من فئة وحدة معالجة الرسومات على وحدات المعالجة المركزية للسلع
يستفيد DeepSparse من تفرق النموذج للحصول على تسريع الأداء.
يسمح التخفيف من خلال التقليم والتكميم بتقليل حجم الحساب المطلوب لتنفيذ الشبكة مع الحفاظ على دقة عالية. DeepSparse على دراية بالتفرق، ويتخطى عمليات الضرب والإضافة بالصفر ويقلل من مقدار الحساب في التمرير الأمامي. نظرًا لأن الحساب المتفرق مرتبط بالذاكرة، فإن DeepSparse ينفذ الشبكة بعمق، ويقسم المشكلة إلى أعمدة Tensor، وهي عبارة عن خطوط عمودية من الحساب تتناسب مع ذاكرة التخزين المؤقت.
تسمح الشبكات المتفرقة ذات الحساب المضغوط، والتي يتم تنفيذها بعمق في ذاكرة التخزين المؤقت، لـ DeepSparse بتقديم أداء من فئة وحدة معالجة الرسومات على وحدات المعالجة المركزية!
إنشاء نسخة متفرقة من YOLOv5 مُدرَّبة على بيانات مخصصة
يحتوي مستودع النماذج مفتوح المصدر الخاص بـ Neural Magic، SparseZoo، على نقاط تفتيش مسبقة التخفيف لكل نموذج YOLOv5. باستخدام SparseML، المدمج مع Ultralytics، يمكنك ضبط نقطة تفتيش متفرقة على بياناتك بأمر CLI واحد.
نشر YOLOv5 مع DeepSparse
تثبيت DeepSparse
شغل ما يلي لتثبيت DeepSparse. نوصي باستخدام بيئة افتراضية مع Python.
pip install deepsparse[server,yolo,onnxruntime]
تجميع ملف ONNX
يقبل DeepSparse نموذجًا بتنسيق ONNX، يتم تمريره إما كـ:
مسار محلي إلى نموذج ONNX
وصلة SparseZoo تحدد نموذجًا في SparseZoo
سنقوم بمقارنة نموذج YOLOv5s القياسي الكثيف بنموذج YOLOv5s المشذب والمكمم، والمحددين بواسطة جذور SparseZoo التالية:
تغلف خطوط الأنابيب المعالجة المسبقة ومعالجة ما بعد الإخراج حول وقت التشغيل، مما يوفر واجهة نظيفة لإضافة DeepSparse إلى أحد التطبيقات. يتضمن تكامل DeepSparse-Ultralytics خط أنابيب جاهزًا يقبل الصور الأولية ويخرج المربعات المحيطة.
إنشاء خط أنابيب وتشغيل الاستدلال:
from deepsparse import Pipeline
# قائمة الصور في نظام الملفات المحلي images = ["basilica.jpg"]
# إنشاء خط أنابيب model_stub = "zoo:cv/detection/yolov5-s/pytorch/ultralytics/coco/pruned65_quant-none" yolo_pipeline = Pipeline.create( task="yolo", model_path=model_stub, )
# تشغيل الاستدلال على الصور، واستقبال الصناديق المحيطة + الفئات pipeline_outputs = yolo_pipeline(images=images, iou_thres=0.6, conf_thres=0.001) print(pipeline_outputs)
إذا كنت تعمل في السحابة، فقد تحصل على خطأ مفاده أن open-cv لا يمكنه العثور على libGL.so.1. سيؤدي تشغيل ما يلي على Ubuntu إلى تثبيته:
apt-get install libgl1-mesa-glx
خادم HTTP
يعمل DeepSparse Server فوق إطار عمل الويب الشهير FastAPI وخادم الويب Uvicorn. باستخدام أمر CLI واحد فقط، يمكنك بسهولة إعداد نقطة نهاية خدمة النموذج باستخدام DeepSparse. يدعم الخادم أي خط أنابيب (Pipeline) من DeepSparse، بما في ذلك اكتشاف الكائنات باستخدام YOLOv5، مما يتيح لك إرسال صور أولية إلى نقطة النهاية واستقبال الصناديق المحيطة.
في Ultralytics، نتشارك تجاريًا مع شركات ناشئة أخرى لمساعدتنا في تمويل البحث والتطوير لأدواتنا الرائعة مفتوحة المصدر، مثل YOLOv5، لإبقائها مجانية للجميع. قد تحتوي هذه المقالة على روابط تابعة لهؤلاء الشركاء.