YOLO11 تصدير النماذج إلى TorchScript للنشر السريع
يتطلب نشر نماذج الرؤية الحاسوبية عبر بيئات مختلفة، بما في ذلك الأنظمة المدمجة أو متصفحات الويب أو المنصات ذات الدعم المحدود Python ، حلاً مرناً وقابلاً للنقل. TorchScript يركز على قابلية النقل والقدرة على تشغيل النماذج في البيئات التي لا يتوفر فيها إطار عمل Python بأكمله. وهذا يجعلها مثالية للسيناريوهات التي تحتاج فيها إلى نشر قدرات الرؤية الحاسوبية عبر أجهزة أو منصات مختلفة.
قم بالتصدير إلى Torchscript لتحويل نماذجك إلى متسلسلة Ultralytics YOLO11 من أجل التوافق عبر المنصات والنشر المبسط. في هذا الدليل، سنوضح لك في هذا الدليل كيفية تصدير نماذجك YOLO11 إلى تنسيق TorchScript ، مما يسهل عليك استخدامها عبر مجموعة واسعة من التطبيقات.
لماذا يجب عليك التصدير إلى TorchScript ؟
تم تطويره من قبل مبتكري PyTorch ، TorchScript هو أداة قوية لتحسين ونشر نماذج PyTorch عبر مجموعة متنوعة من المنصات. يعد تصدير نماذج YOLO11 إلى TorchScript أمر بالغ الأهمية للانتقال من البحث إلى تطبيقات العالم الحقيقي. TorchScript وهو جزء من إطار عمل PyTorch ، يساعد على جعل هذا الانتقال أكثر سلاسة من خلال السماح باستخدام نماذج PyTorch في البيئات التي لا تدعم Python.
تتضمن العملية تقنيتين: التتبع والبرمجة النصية. ويسجل التتبع العمليات أثناء تنفيذ النموذج، في حين تسمح البرمجة النصية بتعريف النماذج باستخدام مجموعة فرعية من Python. وتضمن هذه التقنيات أن النماذج مثل YOLO11 لا تزال تعمل بسحرها حتى خارج بيئتها المعتادة Python .
TorchScript يمكن أيضًا تحسين النماذج من خلال تقنيات مثل دمج المشغلات والتحسينات في استخدام الذاكرة، مما يضمن كفاءة التنفيذ. هناك ميزة أخرى للتصدير إلى TorchScript وهي إمكانية تسريع تنفيذ النموذج عبر منصات الأجهزة المختلفة. فهو ينشئ تمثيلاً مستقلاً وجاهزًا للإنتاج لنموذج PyTorch الخاص بك والذي يمكن دمجه في بيئات C++، أو الأنظمة المدمجة، أو نشره في تطبيقات الويب أو تطبيقات الهاتف المحمول.
الميزات الرئيسية لنماذج TorchScript
TorchScriptوهو جزء أساسي من النظام الإيكولوجي PyTorch ، يوفر ميزات قوية لتحسين نماذج التعلم العميق ونشرها.
فيما يلي الميزات الرئيسية التي تجعل من TorchScript أداة قيمة للمطورين:
-
تنفيذ الرسم البياني الثابت: يستخدم TorchScript تمثيلًا بيانيًا ثابتًا لحساب النموذج، وهو يختلف عن تنفيذ الرسم البياني الديناميكي PyTorch. في تنفيذ الرسم البياني الثابت، يتم تعريف الرسم البياني الحسابي وتجميعه مرة واحدة قبل التنفيذ الفعلي، مما يؤدي إلى تحسين الأداء أثناء الاستدلال.
-
تسلسل النماذج: TorchScript يسمح لك بتسلسل نماذج PyTorch في تنسيق مستقل عن المنصة. يمكن تحميل النماذج المتسلسلة دون الحاجة إلى الكود الأصلي Python ، مما يتيح النشر في بيئات تشغيل مختلفة.
-
تجميع JIT: TorchScript يستخدم التجميع في الوقت المناسب (JIT) لتحويل نماذج PyTorch إلى تمثيل وسيط محسّن. يقوم JIT بتجميع الرسم البياني الحسابي للنموذج، مما يتيح التنفيذ الفعال على الأجهزة المستهدفة.
-
التكامل عبر اللغات: باستخدام TorchScript ، يمكنك تصدير نماذج PyTorch إلى لغات أخرى مثل C++، وجافا وجافا وجافا سكريبت. وهذا يجعل من السهل دمج نماذج PyTorch في أنظمة البرامج الحالية المكتوبة بلغات مختلفة.
-
التحويل التدريجي: TorchScript يوفر نهج التحويل التدريجي، مما يسمح لك بتحويل أجزاء من نموذج PyTorch الخاص بك بشكل تدريجي إلى TorchScript. هذه المرونة مفيدة بشكل خاص عند التعامل مع النماذج المعقدة أو عندما تريد تحسين أجزاء معينة من الكود.
خيارات النشر في TorchScript
قبل أن نلقي نظرة على الكود الخاص بتصدير النماذج YOLO11 إلى تنسيق TorchScript ، دعونا نفهم أين تُستخدم نماذج TorchScript عادةً.
TorchScript خيارات نشر متنوعة لنماذج التعلم الآلي، مثل:
-
واجهة برمجة تطبيقات C++ API: The most common use case for TorchScript is its C++ API, which allows you to load and execute optimized TorchScript models directly within C++ applications. وهذا مثالي لبيئات الإنتاج حيث قد لا يكون Python مناسبًا أو متاحًا. توفر واجهة برمجة تطبيقات C++ API تنفيذًا منخفض التكلفة وفعالًا لنماذج TorchScript ، مما يزيد من إمكانات الأداء إلى أقصى حد.
-
النشر على الأجهزة المحمولة: TorchScript يوفر أدوات لتحويل النماذج إلى صيغ يمكن نشرها بسهولة على الأجهزة المحمولة. PyTorch يوفر الهاتف المحمول وقت تشغيل لتنفيذ هذه النماذج ضمن تطبيقات iOS و Android . وهذا يتيح إمكانات استنتاج منخفضة الكمون وغير متصلة بالإنترنت، مما يعزز تجربة المستخدم وخصوصية البيانات.
-
النشر السحابي: يمكن نشر نماذج TorchScript على خوادم قائمة على السحابة باستخدام حلول مثل TorchServe. يوفر ميزات مثل إصدار النماذج، وتجميع النماذج، ومراقبة المقاييس للنشر القابل للتطوير في بيئات الإنتاج. يمكن أن يتيح النشر السحابي باستخدام TorchScript إمكانية الوصول إلى نماذجك عبر واجهات برمجة التطبيقات أو خدمات الويب الأخرى.
التصدير إلى TorchScript: تحويل نموذج YOLO11 الخاص بك
تصدير نماذج YOLO11 إلى TorchScript يجعل من السهل استخدامها في أماكن مختلفة ويساعد على تشغيلها بشكل أسرع وأكثر كفاءة. هذا أمر رائع لأي شخص يتطلع إلى استخدام نماذج التعلم العميق بشكل أكثر فعالية في تطبيقات العالم الحقيقي.
التركيب
لتثبيت الحزمة المطلوبة، قم بتشغيل:
للاطلاع على الإرشادات التفصيلية وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل التثبيتUltralytics . أثناء تثبيت الحزم المطلوبة YOLO11 ، إذا واجهت أي صعوبات، راجع دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام
قبل الغوص في إرشادات الاستخدام، من المهم ملاحظة أنه على الرغم من أن جميع الطرازاتUltralytics YOLO11 متاحة للتصدير، يمكنك التأكد من أن الطراز الذي تختاره يدعم وظيفة التصدير هنا.
الاستخدام
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
لمزيد من التفاصيل حول عملية التصدير، يرجى زيارة صفحة التوثيقUltralytics الخاصة بالتصدير.
نشر النماذج المصدّرة YOLO11 TorchScript النماذج
بعد تصدير نماذج Ultralytics YOLO11 الخاصة بك بنجاح إلى تنسيق TorchScript ، يمكنك الآن نشرها. تتمثل الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TorchScript في استخدام طريقة YOLO("نموذج.torchscript")، كما هو موضح في مقتطف رمز الاستخدام السابق. ومع ذلك، للحصول على إرشادات متعمقة حول نشر نماذج TorchScript في إعدادات أخرى مختلفة، ألقِ نظرة على الموارد التالية:
-
استكشاف النشر عبر الهاتف المحمول: توفر PyTorch توفر وثائق الهاتف المحمول إرشادات شاملة لنشر النماذج على الأجهزة المحمولة، مما يضمن أن تكون تطبيقاتك فعالة وسريعة الاستجابة.
-
النشر الرئيسي من جانب الخادم الرئيسي: تعرّف على كيفية نشر النماذج من جانب الخادم باستخدام TorchServe، حيث يقدم برنامجاً تعليمياً مفصلاً خطوة بخطوة لعرض النماذج بكفاءة وقابلية للتطوير.
-
تنفيذ نشر C +++C: Dive into the Tutorial on Loading a TorchScript Model in C++, facilitating the integration of your TorchScript models into C++ applications for enhanced performance and versatility.
الملخص
في هذا الدليل، استكشفنا عملية تصدير النماذج Ultralytics YOLO11 إلى تنسيق TorchScript . من خلال اتباع التعليمات المقدمة، يمكنك تحسين نماذج YOLO11 للأداء واكتساب المرونة اللازمة لنشرها عبر مختلف المنصات والبيئات.
للحصول على مزيد من التفاصيل حول الاستخدام، يرجى زيارة الوثائق الرسمية الخاصة بـTorchScript.
أيضًا، إذا كنت ترغب في معرفة المزيد عن عمليات التكامل الأخرى Ultralytics YOLO11 ، قم بزيارة صفحة دليل التكامل الخاصة بنا. ستجد الكثير من الموارد والأفكار المفيدة هناك.
الأسئلة الشائعة
ما هو Ultralytics YOLO11 نموذج التصدير إلى TorchScript ؟
يسمح تصدير نموذج Ultralytics YOLO11 إلى TorchScript بالنشر المرن عبر المنصات. TorchScript وهو جزء من النظام البيئي PyTorch ، يسهّل تسلسل النماذج، والتي يمكن بعد ذلك تنفيذها في البيئات التي تفتقر إلى دعم Python . This makes it ideal for deploying models on embedded systems, C++ environments, mobile applications, and even web browsers. يتيح التصدير إلى TorchScript أداءً فعالاً وقابلية تطبيق أوسع لنماذجك YOLO11 عبر منصات متنوعة.
كيف يمكنني تصدير نموذجي YOLO11 إلى TorchScript باستخدام Ultralytics ؟
لتصدير نموذج YOLO11 إلى TorchScript ، يمكنك استخدام المثال البرمجي التالي:
الاستخدام
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")
لمزيد من التفاصيل حول عملية التصدير، راجع وثائق التصدير على الموقع الإلكترونيUltralytics .
لماذا يجب استخدام TorchScript لنشر نماذج YOLO11 ؟
يوفر استخدام TorchScript لنشر نماذج YOLO11 العديد من المزايا:
- قابلية النقل: يمكن تشغيل النماذج المصدّرة في بيئات لا تحتاج إلى Python ، مثل تطبيقات C++، أو الأنظمة المدمجة، أو الأجهزة المحمولة.
- التحسين: يدعم TorchScript تنفيذ الرسم البياني الثابت والتجميع في الوقت المناسب (JIT)، والذي يمكنه تحسين أداء النموذج.
- التكامل عبر اللغات: يمكن دمج النماذج TorchScript في لغات البرمجة الأخرى، مما يعزز المرونة وقابلية التوسع.
- التسلسل: يمكن تسلسل النماذج، مما يسمح بالتحميل والاستدلال المستقل عن المنصة.
للمزيد من المعلومات حول النشر، يرجى زيارة PyTorch وثائق الهاتف المحمول، ووثائق TorchServe، ودليل النشر C++.
ما هي خطوات التثبيت لتصدير النماذج YOLO11 إلى TorchScript ؟
لتثبيت الحزمة المطلوبة لتصدير النماذج YOLO11 ، استخدم الأمر التالي:
للحصول على إرشادات مفصلة، راجع دليل التثبيتUltralytics . في حالة ظهور أي مشاكل أثناء التثبيت، راجع دليل المشكلات الشائعة.
كيف يمكنني نشر نماذج TorchScript YOLO11 التي تم تصديرها؟
بعد تصدير نماذج YOLO11 إلى تنسيق TorchScript ، يمكنك نشرها عبر مجموعة متنوعة من المنصات:
- C++ API: مثالية لبيئات الإنتاج منخفضة التكاليف وعالية الكفاءة.
- النشر عبر الهاتف المحمول: استخدم PyTorch Mobile لتطبيقات iOS و Android .
- النشر السحابي: استخدم خدمات مثل TorchServe للنشر القابل للتطوير من جانب الخادم.
استكشف المبادئ التوجيهية الشاملة لنشر النماذج في هذه الإعدادات للاستفادة الكاملة من قدرات TorchScript.