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

يعد TorchScript، الذي طوره مبتكرو PyTorch، أداة قوية لتحسين ونشر نماذج PyTorch عبر مجموعة متنوعة من المنصات. يُعد تصدير نماذج YOLO26 إلى TorchScript أمراً بالغ الأهمية للانتقال من البحث إلى التطبيقات الواقعية. يساعد TorchScript، وهو جزء من إطار عمل PyTorch، في جعل هذا الانتقال أكثر سلاسة من خلال السماح باستخدام نماذج PyTorch في البيئات التي لا تدعم Python.
تتضمن العملية تقنيتين: التتبع (tracing) والبرمجة النصية (scripting). يسجل التتبع العمليات أثناء تنفيذ النموذج، بينما تسمح البرمجة النصية بتعريف النماذج باستخدام مجموعة فرعية من Python. تضمن هذه التقنيات أن نماذج مثل YOLO26 يمكنها الاستمرار في تقديم أدائها المتميز حتى خارج بيئة Python المعتادة لها.

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

إليك الميزات الرئيسية التي تجعل من TorchScript أداة قيمة للمطورين:
-
تنفيذ الرسم البياني الثابت (Static Graph Execution): يستخدم TorchScript تمثيلاً بيانياً ثابتاً لحسابات النموذج، وهو يختلف عن تنفيذ الرسم البياني الديناميكي في PyTorch. في تنفيذ الرسم البياني الثابت، يتم تعريف الرسم البياني الحسابي وتجميعه (compilation) مرة واحدة قبل التنفيذ الفعلي، مما يؤدي إلى تحسين الأداء أثناء الاستنتاج.
-
تسلسل النموذج (Model Serialization): يتيح لك TorchScript تسلسل نماذج PyTorch إلى تنسيق مستقل عن المنصة. يمكن تحميل النماذج المتسلسلة دون الحاجة إلى كود Python الأصلي، مما يتيح النشر في بيئات تشغيل مختلفة.
-
تجميع JIT (JIT Compilation): يستخدم TorchScript تجميع "التنفيذ في الوقت المناسب" (JIT) لتحويل نماذج PyTorch إلى تمثيل وسيط محسن. يقوم JIT بتجميع الرسم البياني الحسابي للنموذج، مما يتيح تنفيذه بكفاءة على الأجهزة المستهدفة.
-
التكامل عبر اللغات (Cross-Language Integration): باستخدام TorchScript، يمكنك تصدير نماذج PyTorch إلى لغات أخرى مثل C++ وJava وJavaScript. وهذا يسهل دمج نماذج PyTorch في أنظمة البرمجيات الحالية المكتوبة بلغات مختلفة.
-
التحويل التدريجي (Gradual Conversion): يوفر TorchScript نهج تحويل تدريجي، مما يسمح لك بتحويل أجزاء من نموذج PyTorch الخاص بك إلى TorchScript بشكل تزايدي. تعد هذه المرونة مفيدة بشكل خاص عند التعامل مع النماذج المعقدة أو عندما ترغب في تحسين أجزاء معينة من الكود.
خيارات النشر في TorchScript
قبل أن نلقي نظرة على كود تصدير نماذج YOLO26 إلى تنسيق TorchScript، دعونا نفهم أين تُستخدم نماذج TorchScript عادةً.
يوفر TorchScript خيارات نشر متنوعة لنماذج التعلم الآلي، مثل:
-
C++ API: حالة الاستخدام الأكثر شيوعاً لـ TorchScript هي C++ API الخاصة به، والتي تسمح لك بتحميل وتنفيذ نماذج TorchScript المحسنة مباشرة داخل تطبيقات C++. هذا مثالي لبيئات الإنتاج حيث قد لا تكون Python مناسبة أو متاحة. توفر C++ API تنفيذاً منخفض التكلفة وفعالاً لنماذج TorchScript، مما يزيد من إمكانات الأداء.
-
النشر على الأجهزة المحمولة (Mobile Deployment): يوفر TorchScript أدوات لتحويل النماذج إلى تنسيقات قابلة للنشر بسهولة على الأجهزة المحمولة. يوفر PyTorch Mobile بيئة تشغيل لتنفيذ هذه النماذج داخل تطبيقات iOS وAndroid. وهذا يتيح قدرات استنتاج ذات زمن انتقال منخفض وبدون اتصال بالإنترنت، مما يعزز تجربة المستخدم وخصوصية البيانات.
-
النشر السحابي (Cloud Deployment): يمكن نشر نماذج TorchScript على خوادم سحابية باستخدام حلول مثل TorchServe. فهو يوفر ميزات مثل إصدار النموذج (model versioning)، والتجميع (batching)، ومراقبة المقاييس للنشر القابل للتطوير في بيئات الإنتاج. يمكن للنشر السحابي باستخدام TorchScript جعل نماذجك متاحة عبر APIs أو خدمات الويب الأخرى.
التصدير إلى TorchScript: تحويل نموذج YOLO26 الخاص بك
إن تصدير نماذج YOLO26 إلى TorchScript يسهل استخدامها في أماكن مختلفة ويساعدها على العمل بشكل أسرع وأكثر كفاءة. هذا رائع لأي شخص يتطلع إلى استخدام نماذج التعلم العميق بشكل أكثر فعالية في التطبيقات الواقعية.
التثبيت
لتثبيت الحزمة المطلوبة، قم بتشغيل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على الحلول والنصائح.
الاستخدام
تم تصميم جميع نماذج Ultralytics YOLO26 لدعم التصدير بشكل مباشر، مما يسهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات التكوين لاختيار أفضل إعداد لتطبيقك.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")وسائط التصدير
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'torchscript' | التنسيق المستهدف للنموذج الذي تم تصديره، مما يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة. |
dynamic | bool | False | يسمح بأحجام إدخال ديناميكية، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة. |
half | bool | False | يُمكّن كمّية FP16 (دقة نصفية)، مما يقلل من حجم النموذج وربما يسرع الاستنتاج على الأجهزة المدعومة. |
optimize | bool | False | يُطبق التحسين للأجهزة المحمولة، مما قد يقلل من حجم النموذج ويحسن الأداء. |
nms | bool | False | يضيف خاصية كبح غير الحد الأقصى (NMS)، وهو أمر ضروري لمعالجة الاكتشاف بدقة وكفاءة. |
batch | int | 1 | يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. |
device | str | None | يحدد الجهاز للتصدير: GPU (device=0)، CPU (device=cpu)، MPS لمعالجات Apple silicon (device=mps). |
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.
نشر نماذج YOLO26 المصدرة إلى TorchScript
بعد تصدير نماذج Ultralytics YOLO26 بنجاح إلى تنسيق TorchScript، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TorchScript هي استخدام الطريقة YOLO("model.torchscript")، كما هو موضح في مقتطف كود الاستخدام السابق. للحصول على تعليمات مفصلة حول نشر نماذج TorchScript الخاصة بك في إعدادات أخرى، ألقِ نظرة على الموارد التالية:
-
استكشاف النشر على الأجهزة المحمولة: توفر وثائق PyTorch للهواتف المحمولة إرشادات شاملة لنشر النماذج على الأجهزة المحمولة، مما يضمن أن تطبيقاتك فعالة وسريعة الاستجابة.
-
إتقان النشر من جانب الخادم: تعرف على كيفية نشر النماذج من جانب الخادم باستخدام TorchServe، والذي يقدم برنامجاً تعليمياً خطوة بخطوة لخدمة النماذج بشكل قابل للتطوير وفعال.
-
تنفيذ النشر بـ C++: تعمق في البرنامج التعليمي حول تحميل نموذج TorchScript في C++، مما يسهل دمج نماذج TorchScript الخاصة بك في تطبيقات C++ للحصول على أداء وتنوع معززين.
ملخص
في هذا الدليل، استكشفنا عملية تصدير نماذج Ultralytics YOLO26 إلى تنسيق TorchScript. من خلال اتباع التعليمات المقدمة، يمكنك تحسين نماذج YOLO26 للحصول على الأداء واكتساب المرونة لنشرها عبر منصات وبيئات مختلفة.
لمزيد من التفاصيل حول الاستخدام، تفضل بزيارة وثائق TorchScript الرسمية.
أيضاً، إذا كنت ترغب في معرفة المزيد حول تكاملات Ultralytics YOLO26 الأخرى، فتفضل بزيارة صفحة دليل التكامل. ستجد الكثير من الموارد والرؤى المفيدة هناك.
الأسئلة الشائعة
ما هو تصدير نموذج Ultralytics YOLO26 إلى TorchScript؟
يسمح تصدير نموذج Ultralytics YOLO26 إلى TorchScript بنشر مرن عبر المنصات. يسهل TorchScript، وهو جزء من نظام PyTorch البيئي، تسلسل النماذج، والتي يمكن بعد ذلك تنفيذها في البيئات التي تفتقر إلى دعم Python. وهذا يجعله مثالياً لنشر النماذج على الأنظمة المدمجة، وبيئات C++، وتطبيقات الهاتف المحمول، وحتى متصفحات الويب. التصدير إلى TorchScript يتيح أداءً فعالاً وقابلية تطبيق أوسع لنماذج YOLO26 الخاصة بك عبر منصات متنوعة.
كيف يمكنني تصدير نموذج YOLO26 الخاص بي إلى TorchScript باستخدام Ultralytics؟
لتصدير نموذج YOLO26 إلى TorchScript، يمكنك استخدام كود المثال التالي:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")لمزيد من التفاصيل حول عملية التصدير، راجع وثائق Ultralytics حول التصدير.
لماذا يجب أن أستخدم TorchScript لنشر نماذج YOLO26؟
يوفر استخدام TorchScript لنشر نماذج YOLO26 العديد من المزايا:
- القابلية للنقل (Portability): يمكن تشغيل النماذج المصدرة في بيئات دون الحاجة إلى Python، مثل تطبيقات C++، أو الأنظمة المدمجة، أو الأجهزة المحمولة.
- التحسين (Optimization): يدعم TorchScript تنفيذ الرسم البياني الثابت وتجميع JIT، مما يمكن أن يحسن أداء النموذج.
- التكامل عبر اللغات (Cross-Language Integration): يمكن دمج نماذج TorchScript في لغات برمجة أخرى، مما يعزز المرونة والقابلية للتوسع.
- التسلسل (Serialization): يمكن تسلسل النماذج، مما يسمح بالتحميل والاستنتاج المستقل عن المنصة.
لمزيد من الرؤى حول النشر، تفضل بزيارة وثائق PyTorch Mobile، ووثائق TorchServe، ودليل النشر بـ C++.
ما هي خطوات التثبيت لتصدير نماذج YOLO26 إلى TorchScript؟
لتثبيت الحزمة المطلوبة لتصدير نماذج YOLO26، استخدم الأمر التالي:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة، تفضل بزيارة دليل تثبيت Ultralytics. إذا ظهرت أي مشكلات أثناء التثبيت، راجع دليل المشكلات الشائعة.
كيف أقوم بنشر نماذج YOLO26 المصدرة بتنسيق TorchScript؟
بعد تصدير نماذج YOLO26 إلى تنسيق TorchScript، يمكنك نشرها عبر مجموعة متنوعة من المنصات:
- C++ API: مثالية لبيئات الإنتاج عالية الكفاءة ومنخفضة التكلفة.
- النشر على الأجهزة المحمولة: استخدم PyTorch Mobile لتطبيقات iOS وAndroid.
- النشر السحابي: استخدم خدمات مثل TorchServe للنشر القابل للتطوير من جانب الخادم.
استكشف الإرشادات الشاملة لنشر النماذج في هذه الإعدادات لتحقيق الاستفادة الكاملة من إمكانات TorchScript.