بالنقر فوق “قبول جميع ملفات تعريف الارتباط”، فإنك توافق على تخزين ملفات تعريف الارتباط على جهازك لتحسين التنقل في الموقع وتحليل استخدام الموقع والمساعدة في جهودنا التسويقية. مزيد من المعلومات
إعدادات ملفات تعريف الارتباط
بالنقر فوق “قبول جميع ملفات تعريف الارتباط”، فإنك توافق على تخزين ملفات تعريف الارتباط على جهازك لتحسين التنقل في الموقع وتحليل استخدام الموقع والمساعدة في جهودنا التسويقية. مزيد من المعلومات
قم بتمكين تدريب نموذج Ultralytics YOLOv5 ونشره باستخدام Neural Magic's DeepSparse لأداء GPU على وحدات المعالجة المركزية. تحقيق عمليات نشر YOLOv5 بشكل أسرع وقابل للتطوير.
هل ترغب في تسريع عملية تدريب ونشر YOLOv5 الخاص بك؟ لقد قمنا بتغطيتك! نقدم لك أحدث شركائنا، Neural Magic. نظرًا لأن Neural Magic توفر أدوات برمجية تؤكد على ذروة أداء النموذج وبساطة سير العمل، فمن الطبيعي أن نجتمع معًا لتقديم حل لجعل عملية نشرYOLOv5 أفضل.
DeepSparse هو وقت تشغيل الاستدلال CPU في Neural Magicوالذي يستفيد من التباعد والحسابات منخفضة الدقة داخل الشبكات العصبية لتقديم أداء استثنائي على الأجهزة السلعية. على سبيل المثال، بالمقارنة مع خط الأساس لوقت تشغيل ONNX يوفر DeepSparse سرعة 5.8 مرة لـ YOLOv5s التي تعمل على نفس الجهاز!
لأول مرة، يمكن لأحمال عمل التعلم العميق الخاصة بك تلبية متطلبات أداء الإنتاج دون تعقيد وتكاليف مسرعات الأجهزة. ببساطة، يمنحك DeepSparse أداء وحدات معالجة الرسومات وبساطة البرنامج:
عمليات نشر مرنة: يتم تشغيله باستمرار عبر السحابة ومركز البيانات والحافة مع أي مزود أجهزة.
قابلية التوسع اللانهائية: قم بالتوسع باستخدام Kubernetes القياسي، أو عموديًا إلى مئات النوى، أو مجردة بالكامل باستخدام الحوسبة بدون خادم.
سهولة التكامل: استخدم واجهات برمجة تطبيقات نظيفة لدمج النموذج الخاص بك في تطبيق ومراقبته في الإنتاج
تحقيق أداء GPU على وحدات المعالجة المركزية السلعية
يستفيد DeepSparse من تفرق النموذج للحصول على تسريع الأداء.
يسمح التقليل من خلال التقليم والتكميم بتخفيض الحجم والحساب اللازمين لتنفيذ الشبكة مع الحفاظ على دقة عالية. إن عملية DeepSparse مدركة للتشتت، حيث تتخطى عمليات الضرب المضاعفة للصفر وتقلص مقدار الحوسبة في التمرير الأمامي. نظرًا لأن الحوسبة المتفرقة مرتبطة بالذاكرة، فإن DeepSparse ينفذ الشبكة بعمق، ويقسم المشكلة إلى أعمدة Tensor Columns، وهي عبارة عن خطوط عمودية من الحوسبة التي تتناسب مع ذاكرة التخزين المؤقت.
تسمح الشبكات المتفرقة ذات الحسابات المضغوطة التي يتم تنفيذها بعمق في ذاكرة التخزين المؤقت لـ DeepSparse بتقديم أداء GPU على وحدات المعالجة المركزية!
إنشاء إصدار متناثر من YOLOv5 مدرب على بيانات مخصصة
يحتوي مستودع نماذج Neural Magic المفتوح المصدر، SparseZoo، على نقاط تدقيق مُحللة مسبقًا لكل نموذج من نماذج YOLOv5 . وباستخدام SparseML، المدمج مع Ultralytics يمكنك ضبط نقطة تدقيق متناثرة على بياناتك باستخدام أمر CLI واحد.
نشر YOLOv5 مع DeepSparse
تثبيت DeepSparse
قم بتشغيل ما يلي لتثبيت DeepSparse. نوصي باستخدام بيئة افتراضية مع Python.
pip install deepsparse[serveryolo,onnxruntime]
جمع ملف ONNX
يقبل DeepSparse نموذجًا بصيغة ONNX ويتم تمريره إما بصيغة
مسار محلي لنموذج ONNX
وصلة SparseZoo تحدد نموذجًا في SparseZoo
سنقوم بمقارنة نموذج YOLOv5s القياسي الكثيف بنموذج YOLOv5s المشذب والمكمم، والمحددين بواسطة جذور SparseZoo التالية:
zoo:ultralytics zoo:ultralytics
نشر نموذج
يوفر DeepSparse واجهات برمجة تطبيقات (APIs) ملائمة لدمج النموذج الخاص بك في أحد التطبيقات.
لتجربة أمثلة النشر أدناه، اسحب صورة نموذجية للمثال واحفظها بصيغة basilica.jpg باستخدام الأمر التالي:
wget -O basilicabasilicajpg
واجهة برمجة تطبيقات Python
تعمل خطوط الأنابيب على التفاف المعالجة المسبقة والمعالجة اللاحقة للإخراج حول وقت التشغيل، مما يوفر واجهة نظيفة لإضافة DeepSparse إلى تطبيق ما. يشتمل تكامل Ultralytics على خط أنابيب خارج الصندوق يقبل الصور الخام ويخرج المربعات المحدودة.
إنشاء خط أنابيب وتشغيل الاستدلال:
from deepsparse import Pipeline
# قائمة الصور في نظام الملفات المحلي الصور = [basilica.jpg"]
# إنشاء خط أنابيب model_stub = "zoo:ultralytics" yolo_pipeline = Pipeline.create( مهمة=yolo"، model_path=model_stub, )
إذا كنت تعمل في السحابة، فقد تحصل على خطأ مفاده أن open-cv لا يمكنه العثور على libGL.so.1. سيؤدي تشغيل ما يلي على Ubuntu إلى تثبيته:
apt-get install libgl1-mesa-glx
خادم HTTP
يتم تشغيل DeepSparse Server على رأس إطار عمل الويب FastAPI الشهير وخادم الويب Uvicorn. باستخدام أمر CLI واحد فقط، يمكنك بسهولة إعداد نقطة نهاية خدمة نموذجية باستخدام DeepSparse. يدعم الخادم أي خط أنابيب من DeepSparse، بما في ذلك اكتشاف الكائنات باستخدام YOLOv5 مما يتيح لك إرسال الصور الخام إلى نقطة النهاية واستلام المربعات المحدودة.
في Ultralytics نعقد شراكات تجارية مع شركات ناشئة أخرى لمساعدتنا في تمويل البحث والتطوير لأدواتنا الرائعة مفتوحة المصدر، مثل YOLOv5 لإبقائها مجانية للجميع. قد تحتوي هذه المقالة على روابط تابعة لهؤلاء الشركاء.