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

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

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

إليك الميزات الرئيسية التي تجعل من TorchScript أداة قيمة للمطورين:
-
تنفيذ الرسم البياني الساكن (Static Graph Execution): يستخدم TorchScript تمثيلاً بيانياً ساكناً لحسابات النموذج، وهو يختلف عن تنفيذ الرسم البياني الديناميكي في PyTorch. في تنفيذ الرسم البياني الساكن، يتم تعريف الرسم البياني الحسابي وتجميعه مرة واحدة قبل التنفيذ الفعلي، مما يؤدي إلى تحسين الأداء أثناء الاستنتاج.
-
تسلسل النموذج (Model Serialization): يسمح لك TorchScript بتسلسل نماذج PyTorch إلى تنسيق مستقل عن المنصة. يمكن تحميل النماذج المتسلسلة دون الحاجة إلى كود Python الأصلي، مما يتيح النشر في بيئات تشغيل مختلفة.
-
تجميع JIT: يستخدم TorchScript تجميع Just-In-Time (JIT) لتحويل نماذج PyTorch إلى تمثيل وسيط محسّن. يقوم JIT بتجميع الرسم البياني الحسابي للنموذج، مما يتيح تنفيذاً فعالاً على الأجهزة المستهدفة.
-
التكامل عبر اللغات: باستخدام TorchScript، يمكنك تصدير نماذج PyTorch إلى لغات أخرى مثل C++ وJava وJavaScript. وهذا يسهل دمج نماذج PyTorch في أنظمة البرمجيات الموجودة المكتوبة بلغات مختلفة.
-
التحويل التدريجي: يوفر TorchScript نهج تحويل تدريجي، مما يسمح لك بتحويل أجزاء من نموذج PyTorch الخاص بك إلى TorchScript بشكل تزايدي. هذه المرونة مفيدة بشكل خاص عند التعامل مع النماذج المعقدة أو عندما تريد تحسين أجزاء معينة من الكود.
Link to this sectionخيارات النشر في TorchScript#
قبل أن ننظر إلى الكود الخاص بتصدير نماذج YOLO26 إلى تنسيق TorchScript، دعنا نفهم أين تُستخدم نماذج TorchScript عادةً.
يوفر TorchScript خيارات نشر متنوعة لنماذج التعلم الآلي، مثل:
-
C++ API: حالة الاستخدام الأكثر شيوعاً لـ TorchScript هي C++ API الخاصة به، والتي تسمح لك بتحميل وتنفيذ نماذج TorchScript المحسنة مباشرة داخل تطبيقات C++. هذا مثالي لبيئات الإنتاج حيث قد لا تكون Python مناسبة أو متاحة. توفر C++ API تنفيذاً منخفض التكلفة وفعالاً لنماذج TorchScript، مما يزيد من إمكانات الأداء.
-
النشر على الأجهزة المحمولة: يوفر TorchScript أدوات لتحويل النماذج إلى تنسيقات قابلة للنشر بسهولة على الأجهزة المحمولة. يوفر PyTorch Mobile وقت تشغيل لتنفيذ هذه النماذج داخل تطبيقات iOS وAndroid. وهذا يتيح قدرات استنتاج منخفضة التأخير وغير متصلة بالإنترنت، مما يعزز تجربة المستخدم وخصوصية البيانات.
-
النشر السحابي: يمكن نشر نماذج TorchScript على خوادم قائمة على السحابة باستخدام حلول مثل TorchServe. فهو يوفر ميزات مثل إصدار النماذج، والتجميع (batching)، ومراقبة المقاييس للنشر القابل للتوسع في بيئات الإنتاج. يمكن للنشر السحابي باستخدام TorchScript جعل نماذجك متاحة عبر API أو خدمات ويب أخرى.
Link to this sectionالتصدير إلى TorchScript: تحويل نموذج YOLO26 الخاص بك#
إن تصدير نماذج YOLO26 إلى TorchScript يجعل من السهل استخدامها في أماكن مختلفة ويساعدها على العمل بشكل أسرع وأكثر كفاءة. هذا رائع لأي شخص يتطلع إلى استخدام نماذج التعلم العميق بشكل أكثر فعالية في التطبيقات الواقعية.
Link to this sectionالتثبيت#
لتثبيت الحزمة المطلوبة، قم بتشغيل:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة وأفضل الممارسات المتعلقة بعملية التثبيت، راجع دليل تثبيت Ultralytics. أثناء تثبيت الحزم المطلوبة لـ YOLO26، إذا واجهت أي صعوبات، فاستشر دليل المشكلات الشائعة للحصول على حلول وتلميحات.
Link to this sectionالاستخدام#
تم تصميم جميع نماذج Ultralytics YOLO26 لدعم التصدير مباشرة، مما يجعل من السهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات التهيئة لاختيار أفضل إعداد لتطبيقك.
يدعم تنسيق TorchScript أوضاع التصدير، والتنبؤ، والتحقق. قم بتصدير نموذجك، ثم قم بتحميل النموذج المصدر لتشغيل الاستنتاج أو التحقق من دقتها.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionوسائط التصدير#
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
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 حول التصدير.
Link to this sectionنشر نماذج YOLO26 TorchScript المصدرة#
بعد تصدير نماذج Ultralytics YOLO26 الخاصة بك بنجاح إلى تنسيق TorchScript، يمكنك الآن نشرها. الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TorchScript هي استخدام طريقة YOLO("model.torchscript")، كما هو موضح في مقتطف كود الاستخدام السابق. للحصول على تعليمات متعمقة حول نشر نماذج TorchScript الخاصة بك في إعدادات أخرى، ألق نظرة على الموارد التالية:
-
استكشف النشر على الأجهزة المحمولة: توفر وثائق PyTorch للهواتف المحمولة إرشادات شاملة لنشر النماذج على الأجهزة المحمولة، مما يضمن كفاءة تطبيقاتك واستجابتها.
-
أتقن النشر من جانب الخادم: تعرف على كيفية نشر النماذج من جانب الخادم باستخدام TorchServe، مما يوفر برنامجاً تعليمياً خطوة بخطوة لخدمة النماذج بشكل قابل للتوسع والفعالية.
-
تنفيذ النشر بـ C++: تعمق في البرنامج التعليمي حول تحميل نموذج TorchScript في C++، مما يسهل دمج نماذج TorchScript الخاصة بك في تطبيقات C++ لتحسين الأداء وتعدد الاستخدامات.
Link to this sectionملخص#
في هذا الدليل، استكشفنا عملية تصدير نماذج Ultralytics YOLO26 إلى تنسيق TorchScript. باتباع التعليمات المقدمة، يمكنك تحسين نماذج YOLO26 للحصول على الأداء واكتساب المرونة لنشرها عبر منصات وبيئات مختلفة.
لمزيد من التفاصيل حول الاستخدام، قم بزيارة وثائق TorchScript الرسمية.
أيضاً، إذا كنت ترغب في معرفة المزيد عن تكاملات Ultralytics YOLO26 الأخرى، فقم بزيارة صفحة دليل التكاملات الخاصة بنا. ستجد الكثير من الموارد والرؤى المفيدة هناك.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هو تصدير نموذج Ultralytics YOLO26 إلى TorchScript؟#
يسمح تصدير نموذج Ultralytics YOLO26 إلى TorchScript بالنشر المرن عبر المنصات. يسهّل TorchScript، وهو جزء من نظام PyTorch البيئي، تسلسل النماذج، والتي يمكن بعد ذلك تنفيذها في بيئات تفتقر إلى دعم Python. وهذا يجعله مثالياً لنشر النماذج على الأنظمة المدمجة، وبيئات C++، وتطبيقات الهاتف المحمول، وحتى متصفحات الويب. التصدير إلى TorchScript يتيح أداءً فعالاً وإمكانية تطبيق أوسع لنماذج YOLO26 الخاصة بك عبر منصات متنوعة.
Link to this sectionكيف يمكنني تصدير نموذج YOLO26 الخاص بي إلى TorchScript باستخدام Ultralytics؟#
لتصدير نموذج YOLO26 إلى TorchScript، يمكنك استخدام مثال الكود التالي:
from ultralytics import YOLO
# Load a 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 حول التصدير.
Link to this sectionلماذا يجب علي استخدام TorchScript لنشر نماذج YOLO26؟#
يوفر استخدام TorchScript لنشر نماذج YOLO26 العديد من المزايا:
- قابلية النقل: يمكن تشغيل النماذج المصدرة في بيئات دون الحاجة إلى Python، مثل تطبيقات C++، أو الأنظمة المدمجة، أو الأجهزة المحمولة.
- التحسين: يدعم TorchScript تنفيذ الرسم البياني الساكن وتجميع Just-In-Time (JIT)، مما يمكنه تحسين أداء النموذج.
- التكامل عبر اللغات: يمكن دمج نماذج TorchScript في لغات برمجة أخرى، مما يعزز المرونة والقابلية للتوسع.
- التسلسل: يمكن تسلسل النماذج، مما يسمح بالتحميل والاستنتاج المستقل عن المنصة.
لمزيد من الرؤى حول النشر، قم بزيارة وثائق TorchServe ودليل نشر C++. بالنسبة للنشر على الأجهزة المحمولة، توصي PyTorch الآن بـ ExecuTorch، الذي يستخدم مسار torch.export() → .pte المنفصل الخاص به بدلاً من TorchScript.
Link to this sectionما هي خطوات التثبيت لتصدير نماذج YOLO26 إلى TorchScript؟#
لتثبيت الحزمة المطلوبة لتصدير نماذج YOLO26، استخدم الأمر التالي:
# Install the required package for YOLO26
pip install ultralyticsللحصول على تعليمات مفصلة، قم بزيارة دليل تثبيت Ultralytics. إذا ظهرت أي مشاكل أثناء التثبيت، فاستشر دليل المشاكل الشائعة.
Link to this sectionكيف أقوم بنشر نماذج TorchScript YOLO26 المصدرة الخاصة بي؟#
بعد تصدير نماذج YOLO26 إلى تنسيق TorchScript، يمكنك نشرها عبر مجموعة متنوعة من المنصات:
- C++ API: مثالية لبيئات الإنتاج ذات التكلفة المنخفضة والكفاءة العالية.
- النشر على الأجهزة المحمولة: قم بتشغيل نماذج TorchScript على الجهاز باستخدام LibTorch (وقت تشغيل PyTorch C++). بالنسبة لمشاريع الهاتف المحمول الجديدة، توصي PyTorch بـ ExecuTorch، وهو مسار تصدير
.pteمنفصل. - النشر السحابي: استخدم خدمات مثل TorchServe للنشر القابل للتوسع من جانب الخادم.
استكشف الإرشادات الشاملة لنشر النماذج في هذه الإعدادات للاستفادة الكاملة من قدرات TorchScript.