Ultralytics YOLO27:
Get Started

تصدير إلى تنسيق نموذج 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، الذي يدعم أوضاع Export وPredict وValidate محليًا، ويعمل في المتصفح عبر LiteRT.js. راجع دليل تصدير LiteRT للاطلاع على مسار النشر الحالي في المتصفح وعلى الجهاز.

التصدير
from ultralytics import YOLO

# ⁨تحميل نموذج YOLO26⁩
model = YOLO("yolo26n.pt")

# ⁨تصدير النموذج إلى تنسيق LiteRT (بديل TF.js)⁩
model.export(format="litert", imgsz=640)  # ⁨استخدم imgsz=224 للتصنيف⁩
التنبؤ والتحقق

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

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

المعاملالنوعالافتراضيالوصف
formatstr'litert'التنسيق المستهدف للنموذج المُصدّر؛ أما القيمة المهملة 'tfjs' فتُصدّر LiteRT.
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 silicon (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
    
    # ⁨تحميل نموذج YOLO26⁩
    model = YOLO("yolo26n.pt")
    
    # ⁨تصدير النموذج إلى تنسيق LiteRT (بديل TF.js)⁩
    model.export(format="litert", imgsz=640)  # ⁨استخدم imgsz=224 للتصنيف⁩
    
    # ⁨يعمل النموذج المُصدّر '.tflite' في المتصفح عبر LiteRT.js أو محليًا باستخدام yolo predict/val.⁩

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

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

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

التعليقات