تخطي إلى المحتوى

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

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

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

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

نظرة عامة على تسلسل TorchScript وسير عمل النشر

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

تتضمن العملية تقنيتين: التتبع (tracing) والبرمجة النصية (scripting). يسجل التتبع العمليات أثناء تنفيذ النموذج، بينما تسمح البرمجة النصية بتعريف النماذج باستخدام مجموعة فرعية من python. تضمن هذه التقنيات أن نماذج مثل YOLO26 لا تزال تعمل بفعالية حتى خارج بيئة 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

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

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

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

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

  • النشر في السحابة: يمكن نشر نماذج TorchScript على الخوادم السحابية باستخدام حلول مثل TorchServe. يوفر ميزات مثل التحكم في إصدار النموذج، والتجميع، ومراقبة المقاييس للنشر القابل للتطوير في بيئات الإنتاج. يمكن أن يجعل النشر السحابي باستخدام 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")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'

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

وسائط التصدير

الوسيطةالنوعافتراضيالوصف
formatstr'torchscript'تنسيق الهدف للنموذج الذي تم تصديره، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عددًا صحيحًا للصور المربعة أو صفًا. (height, width) لأبعاد محددة.
dynamicboolFalseيسمح بأحجام إدخال ديناميكية، مما يعزز المرونة في التعامل مع أبعاد الصور المتغيرة.
optimizeboolFalseيطبق تحسينًا للأجهزة المحمولة، مما قد يقلل من حجم النموذج ويحسن الأداء.
nmsboolFalseيضيف خاصية منع التداخل (NMS)، الضرورية للمعالجة اللاحقة للكشف الدقيقة والفعالة.
batchint1يحدد حجم الاستدلال الدفعي لنموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في predict الوضع.
devicestrNoneيحدد الجهاز للتصدير: GPU (device=0)، وحدة معالجة مركزية (CPU) (device=cpu)، MPS لـ Apple silicon (device=mps).

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

نشر نماذج YOLO26 TorchScript المصدرة

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

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

  • إتقان النشر من جانب الخادم: تعرف على كيفية نشر النماذج من جانب الخادم باستخدام 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")
# Export a YOLO26n PyTorch model to TorchScript format
yolo export model=yolo26n.pt format=torchscript # creates 'yolo26n.torchscript'

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

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

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

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

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

لمزيد من الرؤى حول النشر، قم بزيارة وثائق PyTorch Mobile، و وثائق TorchServe، و دليل النشر بـ C++.

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

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

التثبيت

# Install the required package for YOLO26
pip install ultralytics

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

كيف أقوم بنشر نماذج TorchScript YOLO26 المصدرة الخاصة بي؟

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

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

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



📅 تم الإنشاء قبل 1 عام ✏️ تم التحديث قبل 5 أيام
glenn-jocherlakshanthadlakshanthadabirami-vinapderrengerUltralyticsAssistantMatthewNoyceRizwanMunawar

تعليقات