Ultralytics YOLO27:

التصدير إلى تنسيق نموذج TF.js من تنسيق نموذج YOLO26#

متوقف — استُبدل بـ LiteRT

اعتبارًا من Ultralytics 8.4.83، أُزيل تنسيق التصدير tfjs (TensorFlow.js) واستُبدل بتنسيق Google LiteRT الموحّد. يعمل LiteRT في المتصفح عبر LiteRT.js (مع تسريع WebGPU)، ويغطي حالات الاستخدام داخل المتصفح وNode.js التي كان يتولاها TF.js، إلى جانب الأجهزة المحمولة والمضمّنة والطرفية، من خلال نموذج .tflite واحد.

لا يزال format="tfjs" يعمل، لكنه يصدر تحذيرًا بشأن الإهمال ويُصدّر نموذج LiteRT بدلًا منه. استخدم format="litert" مستقبلًا؛ وللاطلاع على تعليمات التصدير الحالية ومسار النشر في المتصفح، راجع دليل تصدير LiteRT.

قد يكون نشر نماذج التعلّم الآلي مباشرةً في المتصفح أو على Node.js أمرًا معقدًا. ستحتاج إلى التأكد من تحسين تنسيق النموذج لتحقيق أداء أسرع، حتى يمكن استخدام النموذج لتشغيل تطبيقات تفاعلية محليًا على جهاز المستخدم. صُمم تنسيق نموذج TensorFlow.js، أو TF.js، لاستخدام أقل قدر من الطاقة مع توفير أداء سريع.

تتيح ميزة «التصدير إلى تنسيق نموذج TF.js» تحسين نماذج Ultralytics YOLO26 للاستدلال عالي السرعة والمحلي الخاص بـاكتشاف الكائنات. في هذا الدليل، سنوضح لك كيفية تحويل نماذجك إلى تنسيق TF.js، مما يسهّل على نماذجك تحقيق أداء جيد في مختلف المتصفحات المحلية وتطبيقات Node.js.

لماذا ينبغي تصدير النموذج إلى TF.js؟#

يوفر تصدير نماذج التعلّم الآلي إلى TensorFlow.js، الذي طوّره فريق TensorFlow باعتباره جزءًا من منظومة TensorFlow الأوسع، مزايا عديدة لنشر تطبيقات التعلّم الآلي. فهو يساعد على تعزيز خصوصية المستخدم وأمانه من خلال إبقاء البيانات الحساسة على الجهاز. توضح الصورة أدناه بنية TensorFlow.js وكيفية تحويل نماذج التعلّم الآلي ونشرها على متصفحات الويب وNode.js.

TensorFlow.js browser ML inference architecture

يؤدي تشغيل النماذج محليًا أيضًا إلى تقليل زمن الاستجابة وتوفير تجربة مستخدم أكثر استجابة. يأتي TensorFlow.js كذلك مزودًا بإمكانات العمل دون اتصال، مما يتيح للمستخدمين استعمال تطبيقك حتى دون اتصال بالإنترنت. صُمم TF.js لتنفيذ النماذج المعقدة بكفاءة على الأجهزة محدودة الموارد، إذ جُهّز للتوسع مع دعم تسريع GPU.

الميزات الرئيسية لـ TF.js#

فيما يلي الميزات الرئيسية التي تجعل TF.js أداة قوية للمطورين:

  • الدعم متعدد المنصات: يمكن استخدام TensorFlow.js في بيئتي المتصفح وNode.js، مما يوفر مرونة في النشر عبر منصات مختلفة. ويتيح للمطورين إنشاء التطبيقات ونشرها بسهولة أكبر.

  • دعم خلفيات متعددة: يدعم TensorFlow.js خلفيات متنوعة للحوسبة، بما في ذلك CPU، وWebGL لتسريع GPU، وWebAssembly (WASM) لسرعة تنفيذ تقترب من السرعة الأصلية، وWebGPU لإمكانات متقدمة للتعلّم الآلي القائم على المتصفح.

  • إمكانات العمل دون اتصال: باستخدام TensorFlow.js، يمكن تشغيل النماذج في المتصفح دون الحاجة إلى اتصال بالإنترنت، مما يتيح تطوير تطبيقات تعمل دون اتصال.

خيارات النشر باستخدام TensorFlow.js#

قبل أن نتعمق في عملية تصدير نماذج YOLO26 إلى تنسيق TF.js، لنستكشف بعض سيناريوهات النشر الشائعة التي يُستخدم فيها هذا التنسيق.

يوفر TF.js مجموعة من الخيارات لنشر نماذج التعلّم الآلي:

  • تطبيقات التعلّم الآلي داخل المتصفح: يمكنك إنشاء تطبيقات ويب تشغّل نماذج التعلّم الآلي مباشرةً في المتصفح. ويُلغى بذلك الاحتياج إلى الحوسبة من جانب الخادم، كما ينخفض الحمل على الخادم.

  • تطبيقات Node.js: يدعم TensorFlow.js أيضًا النشر في بيئات Node.js، مما يتيح تطوير تطبيقات تعلّم آلي من جانب الخادم. ويفيد ذلك خصوصًا في التطبيقات التي تتطلب قدرة معالجة الخادم أو الوصول إلى بيانات من جانب الخادم.

  • إضافات Chrome: من سيناريوهات النشر المثيرة للاهتمام إنشاء إضافات Chrome باستخدام TensorFlow.js. فعلى سبيل المثال، يمكنك تطوير إضافة تتيح للمستخدمين النقر بزر الفأرة الأيمن على صورة ضمن أي صفحة ويب لتصنيفها باستخدام نموذج تعلّم آلي مُدرّب مسبقًا. ويمكن دمج TensorFlow.js في تجارب تصفح الويب اليومية لتوفير رؤى أو تحسينات فورية تستند إلى التعلّم الآلي.

تصدير نماذج YOLO26 إلى TensorFlow.js#

يمكنك توسيع توافق النماذج ومرونة النشر من خلال تحويل نماذج YOLO26 إلى TF.js.

التثبيت#

لتثبيت الحزمة المطلوبة، نفّذ:

التثبيت
# Install the required package for YOLO26
pip install ultralytics

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

الاستخدام#

صُممت جميع نماذج Ultralytics YOLO26 لدعم التصدير مباشرةً، مما يسهّل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات الإعداد لاختيار الإعداد الأنسب لتطبيقك.

تُصدّر الوسيطة tfjs الآن نموذج LiteRT من نوع .tflite، الذي يدعم أوضاع التصدير والتنبؤ والتحقق محليًا، ويعمل في المتصفح عبر LiteRT.js. راجع دليل تصدير LiteRT لمعرفة مسار النشر الحالي في المتصفح وعلى الجهاز.

التصدير
from ultralytics import YOLO

# Load a YOLO26 model
model = YOLO("yolo26n.pt")

# Export the model to TF.js format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
التنبؤ والتحقق

يُحمّل نموذج LiteRT المُصدّر من نوع .tflite مباشرةً باستخدام yolo predict وyolo val، ويعمل في المتصفح عبر LiteRT.js. راجع دليل تصدير LiteRT.

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

الوسيطةالنوعالافتراضيالوصف
formatstr'tfjs'التنسيق المستهدف للنموذج المُصدَّر، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون عددًا صحيحًا للصور المربعة أو صفًا (height, width) لأبعاد محددة.
quantizeint أو strNoneدقة التكميم: 8 (INT8 ثابت، أوزان int8 + تنشيطات int8؛ يتطلب معايرة data/fraction)، و'w8a16' (ثابت، أوزان int8 + تنشيطات int16؛ يتطلب معايرة data/fraction)، و'w8a32' (INT8 ديناميكي، أوزان int8 + تنشيطات FP32؛ لا يتطلب معايرة)، أو 32/غير معيّن (FP32). لا يُصدَّر FP16 بشكل منفصل — إذ يعمل نموذج FP32 تلقائيًا بصيغة FP16 على مفوّضات GPU. ويستبدل ذلك العلامتين المهجورتين half/int8.
batchint1يحدد حجم الدفعة للاستدلال في نموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدَّر بالتزامن في وضع predict.
datastrNoneمسار YAML الخاص بـ مجموعة البيانات، وهو ضروري للتكميم؛ أما التصنيف فيتطلب دليل مجموعة بيانات أو اسم مجموعة بيانات مضمّنة. إذا أُغفل مع quantize=8 أو 'w8a16'، فستحدد Ultralytics مجموعة بيانات المعايرة الافتراضية لمهمة النموذج.
fractionfloat أو int أو list1.0مجموعة المعايرة الجزئية كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تترك القوائم ذات العنصرين test ممتلئًا، بينما تتخطى 0.
devicestrNoneيحدد الجهاز المستخدم للتصدير: CPU (device=cpu)، وMPS لشرائح Apple (device=mps).

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

نشر نماذج YOLO26 TensorFlow.js المُصدّرة#

بعد أن صدّرت نموذج YOLO26، تتمثل الخطوة التالية في نشره. يُنتج التصدير نموذج LiteRT من نوع .tflite يعمل على الجهاز وفي المتصفح عبر LiteRT.js — راجع دليل تصدير LiteRT لمعرفة المسار الحالي.

للمرجعية، نورد أدناه موارد وقت تشغيل TensorFlow.js القديمة:

الملخص#

تعلّمنا في هذا الدليل كيفية تصدير نماذج Ultralytics YOLO26 إلى تنسيق TensorFlow.js. وبالتصدير إلى TF.js، تحصل على المرونة اللازمة لتحسين نماذج YOLO26 ونشرها وتوسيع نطاقها على مجموعة واسعة من المنصات.

لمزيد من التفاصيل حول الاستخدام، يُرجى زيارة الوثائق الرسمية لـ TensorFlow.js.

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

الأسئلة الشائعة#

  • يُعد تصدير نماذج Ultralytics YOLO26 إلى تنسيق TensorFlow.js (TF.js) أمرًا مباشرًا. يمكنك اتباع الخطوات التالية:

    الاستخدام
    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to TF.js format
    model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
    
    # The exported '.tflite' model runs in the browser via LiteRT.js or locally with yolo predict/val.

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

  • يوفر تصدير نماذج YOLO26 إلى TensorFlow.js عدة مزايا، منها:

    1. التنفيذ المحلي: يمكن تشغيل النماذج مباشرةً في المتصفح أو Node.js، مما يقلل زمن الاستجابة ويحسن تجربة المستخدم.
    2. الدعم متعدد المنصات: يدعم TF.js بيئات متعددة، مما يتيح مرونة في النشر.
    3. إمكانات العمل دون اتصال: يتيح للتطبيقات العمل دون اتصال بالإنترنت، مما يضمن الموثوقية والخصوصية.
    4. تسريع GPU: يستفيد من WebGL لتسريع GPU، مما يحسن الأداء على الأجهزة محدودة الموارد.
  • صُمم TensorFlow.js خصيصًا لتنفيذ نماذج ML بكفاءة في المتصفحات وبيئات Node.js. وفيما يلي كيفية استفادته منه التطبيقات القائمة على المتصفح:

    • يقلل زمن الاستجابة: يشغّل نماذج التعلّم الآلي محليًا، ويوفر نتائج فورية دون الاعتماد على العمليات الحسابية من جانب الخادم.
    • يحسن الخصوصية: يُبقي البيانات الحساسة على جهاز المستخدم، مما يقلل مخاطر الأمان.
    • يتيح الاستخدام دون اتصال: يمكن للنماذج العمل دون اتصال بالإنترنت، مما يضمن وظائف متسقة.
    • يدعم خلفيات متعددة: يوفر مرونة باستخدام خلفيات مثل CPU وWebGL وWebAssembly (WASM) وWebGPU لتلبية الاحتياجات الحاسوبية المختلفة.

    هل ترغب في معرفة المزيد عن TF.js؟ اطلع على دليل TensorFlow.js الرسمي.

  • تشمل الميزات الرئيسية لـ TensorFlow.js ما يلي:

    • الدعم متعدد المنصات: يمكن استخدام TF.js في متصفحات الويب وNode.js، مما يوفر مرونة واسعة في النشر.
    • خلفيات متعددة: يدعم CPU وWebGL لتسريع GPU وWebAssembly (WASM) وWebGPU للعمليات المتقدمة.
    • إمكانات العمل دون اتصال: يمكن تشغيل النماذج مباشرةً في المتصفح دون اتصال بالإنترنت، مما يجعله مثاليًا لتطوير تطبيقات ويب سريعة الاستجابة.

    للاطلاع على سيناريوهات النشر ومزيد من المعلومات المتعمقة، راجع قسمنا حول خيارات النشر باستخدام TensorFlow.js.

  • نعم، يتيح TensorFlow.js نشر نماذج YOLO26 في بيئات Node.js. ويتيح ذلك تطبيقات تعلّم آلي من جانب الخادم تستفيد من قدرة معالجة الخادم والوصول إلى البيانات من جانب الخادم. وتشمل حالات الاستخدام النموذجية معالجة البيانات في الوقت الفعلي وخطوط أنابيب التعلّم الآلي على خوادم الواجهة الخلفية.

    لبدء النشر باستخدام Node.js، راجع دليل تشغيل TensorFlow.js في Node.js من TensorFlow.

التعليقات