التصدير إلى تنسيق نموذج TF.js من تنسيق نموذج YOLO26#
اعتباراً من 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 أيضاً بقدرات غير متصلة بالإنترنت، مما يتيح للمستخدمين استخدام تطبيقك حتى بدون اتصال بالإنترنت. تم تصميم TF.js للتنفيذ الفعال للمعماقات المعقدة على الأجهزة ذات الموارد المحدودة حيث تم هندسته قابلية للتوسع، مع دعم تسريع GPU.
الميزات الرئيسية لـ TF.js#
فيما يلي الميزات الرئيسية التي تجعل من TF.js أداة قوية للمطورين:
-
دعم عبر الأنظمة الأساسية: يمكن استخدام TensorFlow.js في كل من بيئات المتصفح وNode.js، مما يوفر مرونة في النشر عبر منصات مختلفة. إنه يسمح للمطورين ببناء التطبيقات ونشرها بسهولة أكبر.
-
دعم للعديد من الأطراف الخلفية (Backends): يدعم 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 الآن بتصدير نموذج .tflite من LiteRT، والذي يدعم أوضاع التصدير، والتنبؤ، والتحقق محلياً ويعمل في المتصفح عبر 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.
وسائط التصدير#
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'tfjs' | التنسيق المستهدف للنموذج المصدر، والذي يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون رقماً صحيحاً للصور المربعة أو صفاً (tuple) (height, width) لأبعاد محددة. |
quantize | int أو str | None | دقة الكمية: 8 (INT8 ثابت، أوزان int8 + تنشيطات int8؛ تتطلب معايرة data/fraction)، 'w8a16' (ثابت، أوزان int8 + تنشيطات int16؛ تتطلب معايرة data/fraction)، 'w8a32' (INT8 ديناميكي، أوزان int8 + تنشيطات FP32؛ لا تتطلب معايرة)، أو 32/غير محدد (FP32). لا يتم تصدير FP16 بشكل منفصل — حيث يعمل نموذج FP32 في FP16 تلقائياً على مفوضي وحدة معالجة الرسومات. ويحل محل علامات half/int8 المهملة. |
batch | int | 1 | يحدد حجم الاستدلال المفعلي لنموذج التصدير أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر في نفس الوقت في وضع predict. |
data | str | None | مسار ملف YAML الخاص بـ مجموعة البيانات، وهو أمر أساسي للكمومية؛ بينما تأخذ عملية التصنيف بدلاً من ذلك دليل مجموعة بيانات أو اسم مجموعة بيانات مدمج. إذا تم حذفه باستخدام quantize=8 أو 'w8a16'، فإن Ultralytics يختار مجموعة بيانات المعايرة الافتراضية لمهمة النموذج. |
fraction | float أو int أو list | 1.0 | مجموعة فرعية للمعايرة كنسبة، أو عدد صور، أو نسب/أعداد [train, val, test]. قوائم العنصرين تترك test بالكامل، بينما 0 تتخطاها. |
device | str | None | يحدد الجهاز المراد التصدير إليه: وحدة المعالجة المركزية (CPU) (device=cpu)، و MPS لسليكون أبل (device=mps). |
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة وثائق Ultralytics حول التصدير.
نشر نماذج YOLO26 المصدرة بتنسيق TensorFlow.js#
الآن بعد أن قمت بتصدير نموذج YOLO26 الخاص بك، فإن الخطوة التالية هي نشره. ينتج عن التصدير نموذج .tflite من LiteRT يعمل على الجهاز وفي المتصفح عبر LiteRT.js — راجع دليل تصدير LiteRT للمسار الحالي.
للمرجع، تتوفر موارد وقت تشغيل TensorFlow.js القديمة أدناه:
-
امتداد كروم: إليك وثائق المطورين حول كيفية نشر نماذج TF.js الخاصة بك في امتداد كروم.
-
تشغيل TensorFlow.js في Node.js: منشور مدونة TensorFlow حول تشغيل TensorFlow.js في Node.js مباشرة.
-
نشر TensorFlow.js - مشروع Node على منصة سحابية: منشور مدونة TensorFlow حول نشر نموذج 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 العديد من المزايا، بما في ذلك:
- التنفيذ المحلي: يمكن تشغيل النماذج مباشرة في المتصفح أو Node.js، مما يقلل من زمن الوصول ويعزز تجربة المستخدم.
- دعم عبر الأنظمة الأساسية: يدعم TF.js بيئات متعددة، مما يتيح المرونة في النشر.
- إمكانيات دون اتصال بالإنترنت: تمكّن التطبيقات من العمل بدون اتصال بالإنترنت، مما يضمن الموثوقية والخصوصية.
- تسريع 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.js في Node.js من TensorFlow.