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

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 ، قم بزيارة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من الموارد والأفكار المفيدة هناك.

الأسئلة المتداولة

ما هو Ultralytics YOLOv8 نموذج التصدير إلى TorchScript ؟

ويسمح تصدير نموذج Ultralytics YOLOv8 إلى TorchScript بالنشر المرن عبر المنصات. TorchScript وهو جزء من النظام البيئي PyTorch ، يسهّل تسلسل النماذج، والتي يمكن بعد ذلك تنفيذها في البيئات التي تفتقر إلى دعم Python . This makes it ideal for deploying models on embedded systems, C++ environments, mobile applications, and even web browsers. يتيح التصدير إلى TorchScript أداءً فعالاً وقابلية تطبيق أوسع لنماذجك YOLOv8 عبر منصات متنوعة.

كيف يمكنني تصدير نموذجي YOLOv8 إلى TorchScript باستخدام Ultralytics ؟

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

استخدام

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 .

لماذا يجب استخدام TorchScript لنشر نماذج YOLOv8 ؟

يوفر استخدام TorchScript لنشر نماذج YOLOv8 العديد من المزايا:

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

للمزيد من المعلومات حول النشر، يرجى زيارة PyTorch وثائق الهاتف المحمول، ووثائق TorchServe، ودليل النشر C++.

ما هي خطوات التثبيت لتصدير النماذج YOLOv8 إلى TorchScript ؟

لتثبيت الحزمة المطلوبة لتصدير النماذج YOLOv8 ، استخدم الأمر التالي:

تركيب

# Install the required package for YOLOv8
pip install ultralytics

للحصول على إرشادات مفصلة، راجع دليل التثبيتUltralytics . في حالة ظهور أي مشاكل أثناء التثبيت، راجع دليل المشكلات الشائعة.

كيف يمكنني نشر نماذج TorchScript YOLOv8 التي تم تصديرها؟

بعد تصدير نماذج YOLOv8 إلى تنسيق TorchScript ، يمكنك نشرها عبر مجموعة متنوعة من المنصات:

  • C++ API: مثالية لبيئات الإنتاج منخفضة التكاليف وعالية الكفاءة.
  • النشر عبر الهاتف المحمول: استخدم PyTorch Mobile لتطبيقات iOS و Android .
  • النشر السحابي: استخدم خدمات مثل TorchServe للنشر القابل للتطوير من جانب الخادم.

استكشف المبادئ التوجيهية الشاملة لنشر النماذج في هذه الإعدادات للاستفادة الكاملة من قدرات TorchScript.



تم الإنشاء 2024-03-01، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (6)، أبيرامي-فينا (2)

التعليقات