انتقل إلى المحتوى

YOLOv8 تصدير النموذج إلى TorchScript للنشر السريع

نشر نماذج رؤية الكمبيوتر عبر بيئات مختلفة ، بما في ذلك الأنظمة المضمنة أو متصفحات الويب أو الأنظمة الأساسية ذات المحدودية Python الدعم ، يتطلب حلا مرنا ومحمولا. TorchScript يركز على قابلية النقل والقدرة على تشغيل النماذج في البيئات التي يكون فيها بأكمله Python إطار العمل غير متوفر. وهذا يجعلها مثالية للسيناريوهات التي تحتاج فيها إلى نشر إمكانات رؤية الكمبيوتر عبر أجهزة أو أنظمة أساسية مختلفة.

تصدير إلى Torchscript لتسلسل Ultralytics YOLOv8 نماذج للتوافق عبر الأنظمة الأساسية والنشر المبسط. في هذا الدليل ، سنوضح لك كيفية تصدير ملف YOLOv8 نماذج إلى TorchScript ، مما يسهل عليك استخدامها عبر مجموعة واسعة من التطبيقات.

لماذا يجب عليك التصدير إلى TorchScript?

Torchscript نظره عامه

تم تطويره من قبل المبدعين PyTorch, TorchScript هي أداة قوية للتحسين والنشر PyTorch نماذج عبر مجموعة متنوعة من المنصات. تصدير YOLOv8 نماذج ل TorchScript أمر بالغ الأهمية للانتقال من البحث إلى تطبيقات العالم الحقيقي. TorchScript، وهو جزء من PyTorch إطار العمل ، يساعد على جعل هذا الانتقال أكثر سلاسة من خلال السماح PyTorch النماذج التي سيتم استخدامها في البيئات التي لا تدعم Python.

تتضمن العملية تقنيتين: التتبع والبرمجة النصية. يسجل تتبع العمليات أثناء تنفيذ النموذج ، بينما تسمح البرمجة النصية بتعريف النماذج باستخدام مجموعة فرعية من Python. تضمن هذه التقنيات أن نماذج مثل YOLOv8 لا يزال بإمكانهم عمل سحرهم حتى خارج المعتاد Python وسط.

TorchScript البرنامج النصي والتتبع

TorchScript يمكن أيضا تحسين النماذج من خلال تقنيات مثل دمج المشغل والتحسينات في استخدام الذاكرة ، مما يضمن التنفيذ الفعال. ميزة أخرى للتصدير إلى TorchScript هي قدرتها على تسريع تنفيذ النموذج عبر منصات الأجهزة المختلفة. إنه يخلق تمثيلا مستقلا وجاهزا للإنتاج ل PyTorch نموذج يمكن دمجه في بيئات C++ أو الأنظمة المضمنة أو نشره في تطبيقات الويب أو الأجهزة المحمولة.

الميزات الرئيسية ل TorchScript نماذج

TorchScript، وهو جزء أساسي من PyTorch النظام البيئي ، يوفر ميزات قوية لتحسين ونشر نماذج التعلم العميق.

TorchScript ملامح

فيما يلي الميزات الرئيسية التي تجعل TorchScript أداة قيمة للمطورين:

  • تنفيذ الرسم البياني الثابت: TorchScript يستخدم تمثيل رسم بياني ثابت لحساب النموذج ، والذي يختلف عن PyTorchتنفيذ الرسم البياني الديناميكي. في تنفيذ الرسم البياني الثابت ، يتم تعريف الرسم البياني الحسابي وتجميعه مرة واحدة قبل التنفيذ الفعلي ، مما يؤدي إلى تحسين الأداء أثناء الاستدلال.

  • نموذج التسلسل: TorchScript يسمح لك بالتسلسل PyTorch النماذج في تنسيق مستقل عن النظام الأساسي. يمكن تحميل النماذج المتسلسلة دون الحاجة إلى الأصل Python التعليمات البرمجية ، مما يتيح النشر في بيئات وقت التشغيل المختلفة.

  • تجميع JIT: TorchScript يستخدم التحويل البرمجي في الوقت المناسب (JIT) للتحويل PyTorch النماذج في تمثيل وسيط محسن. يقوم JIT بتجميع الرسم البياني الحسابي للنموذج ، مما يتيح التنفيذ الفعال على الأجهزة المستهدفة.

  • التكامل عبر اللغات: مع TorchScript، يمكنك التصدير PyTorch نماذج للغات أخرى مثل C ++ و Java و JavaScript. هذا يجعل من السهل الاندماج PyTorch نماذج في أنظمة البرمجيات الحالية مكتوبة بلغات مختلفة.

  • التحويل التدريجي: TorchScript يوفر نهج تحويل تدريجي ، مما يسمح لك بتحويل أجزاء من ملف PyTorch نموذج في TorchScript. هذه المرونة مفيدة بشكل خاص عند التعامل مع النماذج المعقدة أو عندما تريد تحسين أجزاء معينة من التعليمات البرمجية.

خيارات النشر في TorchScript

قبل أن ننظر إلى رمز التصدير YOLOv8 نماذج إلى TorchScript التنسيق ، دعونا نفهم أين TorchScript عادة ما تستخدم النماذج.

TorchScript يقدم خيارات نشر متنوعة لنماذج التعلم الآلي، مثل:

  • C++ API: حالة الاستخدام الأكثر شيوعا ل TorchScript هي واجهة برمجة تطبيقات C ++ الخاصة بها ، والتي تتيح لك تحميل وتنفيذ محسن TorchScript النماذج مباشرة داخل تطبيقات C ++. هذا مثالي لبيئات الإنتاج حيث Python قد لا تكون مناسبة أو متوفرة. توفر واجهة برمجة تطبيقات C ++ تنفيذا منخفضا وفعالا ل TorchScript النماذج ، تعظيم إمكانات الأداء.

  • النشر المحمول: TorchScript يوفر أدوات لتحويل النماذج إلى تنسيقات يمكن نشرها بسهولة على الأجهزة المحمولة. PyTorch يوفر الهاتف المحمول وقت تشغيل لتنفيذ هذه النماذج داخل تطبيقات iOS و Android. يتيح ذلك إمكانات الاستدلال في وضع عدم الاتصال بزمن انتقال منخفض ، مما يعزز تجربة المستخدم وخصوصية البيانات.

  • النشر السحابي: TorchScript يمكن نشر النماذج على الخوادم المستندة إلى السحابة باستخدام حلول مثل TorchServe. يوفر ميزات مثل إصدار النموذج والتجميع ومراقبة المقاييس للنشر القابل للتطوير في بيئات الإنتاج. نشر السحابة مع TorchScript يمكن أن تجعل نماذجك قابلة للوصول عبر واجهات برمجة التطبيقات أو خدمات الويب الأخرى.

تصدير إلى TorchScriptتحويل الخاص بك: YOLOv8 نموذج

تصدير YOLOv8 نماذج ل TorchScript يسهل استخدامها في أماكن مختلفة ويساعدها على العمل بشكل أسرع وأكثر كفاءة. يعد هذا أمرا رائعا لأي شخص يتطلع إلى استخدام نماذج التعلم العميق بشكل أكثر فعالية في تطبيقات العالم الحقيقي.

تركيب

لتثبيت الحزمة المطلوبة ، قم بتشغيل:

تركيب

# Install the required package for YOLOv8
pip install ultralytics

للحصول على إرشادات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت ، تحقق من Ultralytics دليل التثبيت. أثناء تثبيت الحزم المطلوبة ل YOLOv8، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على حلول ونصائح.

استخدام

قبل الغوص في تعليمات الاستخدام ، من المهم ملاحظة أنه في حين أن جميع Ultralytics YOLOv8 النماذج متاحة للتصدير ، يمكنك التأكد من أن النموذج الذي تحدده يدعم وظائف التصدير هنا.

استخدام

from ultralytics import YOLO

# Load the YOLOv8 model
model = YOLO('yolov8n.pt')

# Export the model to TorchScript format
model.export(format='torchscript')  # creates 'yolov8n.torchscript'

# Load the exported TorchScript model
torchscript_model = YOLO('yolov8n.torchscript')

# Run inference
results = torchscript_model('https://ultralytics.com/images/bus.jpg')
# Export a YOLOv8n PyTorch model to TorchScript format
yolo export model=yolov8n.pt format=torchscript  # creates 'yolov8n.torchscript'

# Run inference with the exported model
yolo predict model=yolov8n.torchscript source='https://ultralytics.com/images/bus.jpg'

لمزيد من التفاصيل حول عملية التصدير ، قم بزيارة Ultralytics صفحة التوثيق الخاصة بالتصدير.

نشر التصدير YOLOv8 TorchScript نماذج

بعد تصدير الخاص بك بنجاح Ultralytics YOLOv8 نماذج ل TorchScript ، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل TorchScript النموذج هو الاستفادة من YOLO("نموذج.torchscript") ، كما هو موضح في مقتطف شفرة الاستخدام السابق. ومع ذلك ، للحصول على إرشادات متعمقة حول نشر TorchScript النماذج في إعدادات أخرى مختلفة ، ألق نظرة على الموارد التالية:

  • استكشاف النشر عبر الأجهزة المحمولة: PyTorch توفر وثائق الأجهزة المحمولة إرشادات شاملة لنشر النماذج على الأجهزة المحمولة، مما يضمن كفاءة تطبيقاتك واستجابتها.

  • النشر الرئيسي من جانب الخادم: تعرف على كيفية نشر النماذج من جانب الخادم باستخدام TorchServe ، مما يوفر برنامجا تعليميا خطوة بخطوة لخدمة النماذج الفعالة والقابلة للتطوير.

  • تنفيذ نشر C ++: تعمق في البرنامج التعليمي حول تحميل ملف TorchScript نموذج في C ++ ، مما يسهل تكامل TorchScript نماذج في تطبيقات C ++ لتحسين الأداء وتعدد الاستخدامات.

ملخص

في هذا الدليل ، استكشفنا عملية التصدير Ultralytics YOLOv8 نماذج إلى TorchScript تنسيق. باتباع التعليمات المقدمة ، يمكنك التحسين YOLOv8 نماذج للأداء واكتساب المرونة لنشرها عبر مختلف المنصات والبيئات.

لمزيد من التفاصيل حول الاستخدام ، قم بزيارة TorchScriptالوثائق الرسمية.

أيضا ، إذا كنت ترغب في معرفة المزيد عن الآخرين Ultralytics YOLOv8 عمليات التكامل، تفضل بزيارة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من الموارد المفيدة والرؤى هناك.



تم إنشاؤه في 2024-03-01, اخر تحديث 2024-03-03
المؤلفون: جلين جوشر (1) ، أبيرامي فينا (2)

التعليقات