التصدير إلى تنسيق نموذج TF.js من تنسيق نموذج YOLO26
قد يكون نشر نماذج التعلم الآلي مباشرة في المتصفح أو على 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 لدعم التصدير بشكل مباشر، مما يسهل دمجها في سير عمل النشر المفضل لديك. يمكنك عرض القائمة الكاملة لتنسيقات التصدير المدعومة وخيارات التكوين لاختيار أفضل إعداد لتطبيقك.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")وسائط التصدير
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
format | str | 'tfjs' | التنسيق المستهدف للنموذج الذي تم تصديره، مما يحدد التوافق مع بيئات النشر المختلفة. |
imgsz | int أو tuple | 640 | حجم الصورة المطلوب لمدخلات النموذج. يمكن أن يكون عدداً صحيحاً للصور المربعة أو صفاً (height, width) لأبعاد محددة. |
half | bool | False | يُمكّن كمّية FP16 (دقة نصفية)، مما يقلل من حجم النموذج وربما يسرع الاستنتاج على الأجهزة المدعومة. |
int8 | bool | False | يُنشط كمّية INT8، مما يزيد من ضغط النموذج وتسريع الاستنتاج بأقل قدر من فقدان الدقة، بشكل أساسي لأجهزة الحافة. |
nms | bool | False | يضيف خاصية كبح غير الحد الأقصى (NMS)، وهو أمر ضروري لمعالجة الاكتشاف بدقة وكفاءة. |
batch | int | 1 | يحدد حجم استدلال دفعة النموذج المصدر أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المصدر في وقت واحد في وضع predict. |
data | str | 'coco8.yaml' | المسار إلى ملف إعداد مجموعة البيانات (الافتراضي: coco8.yaml)، وهو ضروري للكمية (quantization). |
fraction | float | 1.0 | يحدد جزء مجموعة البيانات المستخدم لمعايرة تكميم INT8. يسمح بالمعايرة على مجموعة فرعية من مجموعة البيانات الكاملة، وهو مفيد للتجارب أو عند محدودية الموارد. إذا لم يتم تحديده مع تفعيل INT8، فسيتم استخدام مجموعة البيانات الكاملة. |
device | str | None | يحدد الجهاز للتصدير: CPU (device=cpu)، أو MPS لأجهزة Apple silicon (device=mps). |
لمزيد من التفاصيل حول عملية التصدير، تفضل بزيارة صفحة توثيق Ultralytics حول التصدير.
نشر نماذج YOLO26 المُصدرة بتنسيق TensorFlow.js
الآن بعد أن قمت بتصدير نموذج YOLO26 الخاص بك إلى تنسيق TF.js، فإن الخطوة التالية هي نشره. الخطوة الأولى الأساسية والموصى بها لتشغيل نموذج TF.js هي استخدام طريقة YOLO("./yolo26n_web_model")، كما هو موضح مسبقاً في مقتطف كود الاستخدام.
ومع ذلك، للحصول على تعليمات مفصلة حول نشر نماذج TF.js الخاصة بك، ألقِ نظرة على الموارد التالية:
-
إضافة Chrome: إليك وثائق المطور حول كيفية نشر نماذج TF.js الخاصة بك في إضافة Chrome.
-
تشغيل 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؟
تصدير نماذج Ultralytics YOLO26 إلى تنسيق TensorFlow.js (TF.js) مباشر وسهل. يمكنك اتباع هذه الخطوات:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF.js format
model.export(format="tfjs") # creates '/yolo26n_web_model'
# Load the exported TF.js model
tfjs_model = YOLO("./yolo26n_web_model")
# Run inference
results = tfjs_model("https://ultralytics.com/images/bus.jpg")لمزيد من التفاصيل حول خيارات التصدير المدعومة، تفضل بزيارة صفحة وثائق Ultralytics حول خيارات النشر.
لماذا يجب علي تصدير نماذج YOLO26 الخاصة بي إلى TensorFlow.js؟
يوفر تصدير نماذج YOLO26 إلى TensorFlow.js العديد من المزايا، بما في ذلك:
- التنفيذ المحلي: يمكن تشغيل النماذج مباشرة في المتصفح أو Node.js، مما يقلل من زمن الوصول ويعزز تجربة المستخدم.
- دعم عبر الأنظمة الأساسية: يدعم TF.js بيئات متعددة، مما يتيح المرونة في النشر.
- إمكانات العمل دون اتصال: تمكّن التطبيقات من العمل بدون اتصال بالإنترنت، مما يضمن الموثوقية والخصوصية.
- تسريع GPU: يستفيد من WebGL لتسريع GPU، مما يعمل على تحسين الأداء على الأجهزة ذات الموارد المحدودة.
للحصول على نظرة عامة شاملة، راجع عمليات التكامل الخاصة بنا مع TensorFlow.js.
كيف يفيد TensorFlow.js تطبيقات التعلم الآلي القائمة على المتصفح؟
تم تصميم TensorFlow.js خصيصاً للتنفيذ الفعال لنماذج التعلم الآلي في المتصفحات وبيئات Node.js. وإليك كيف يفيد التطبيقات القائمة على المتصفح:
- يقلل زمن الوصول: يشغل نماذج التعلم الآلي محلياً، مما يوفر نتائج فورية دون الاعتماد على الحسابات من جانب الخادم.
- يحسن الخصوصية: يبقي البيانات الحساسة على جهاز المستخدم، مما يقلل من مخاطر الأمان.
- يمكن الاستخدام دون اتصال: يمكن أن تعمل النماذج بدون اتصال بالإنترنت، مما يضمن وظائف متسقة.
- يدعم بنيات تحتية متعددة: يوفر المرونة مع بنيات تحتية مثل CPU، وWebGL، وWebAssembly (WASM)، وWebGPU للاحتياجات الحسابية المختلفة.
هل أنت مهتم بمعرفة المزيد عن TF.js؟ تحقق من دليل TensorFlow.js الرسمي.
ما هي الميزات الرئيسية لـ TensorFlow.js لنشر نماذج YOLO26؟
تشمل الميزات الرئيسية لـ TensorFlow.js ما يلي:
- دعم عبر الأنظمة الأساسية: يمكن استخدام TF.js في كل من متصفحات الويب وNode.js، مما يوفر مرونة واسعة في النشر.
- بنيات تحتية متعددة: يدعم CPU، وWebGL لتسريع GPU، وWebAssembly (WASM)، وWebGPU للعمليات المتقدمة.
- إمكانات العمل دون اتصال: يمكن تشغيل النماذج مباشرة في المتصفح دون اتصال بالإنترنت، مما يجعله مثالياً لتطوير تطبيقات ويب سريعة الاستجابة.
لسيناريوهات النشر والمزيد من المعلومات المتعمقة، راجع قسمنا حول خيارات النشر باستخدام TensorFlow.js.
هل يمكنني نشر نموذج YOLO26 على تطبيقات Node.js من جانب الخادم باستخدام TensorFlow.js؟
نعم، يسمح TensorFlow.js بنشر نماذج YOLO26 في بيئات Node.js. يتيح ذلك تطبيقات التعلم الآلي من جانب الخادم التي تستفيد من قوة معالجة الخادم والوصول إلى البيانات من جانب الخادم. تشمل حالات الاستخدام النموذجية معالجة البيانات في الوقت الفعلي وخطوط أنابيب التعلم الآلي على خوادم النهاية الخلفية (backend).
للبدء في نشر Node.js، راجع دليل تشغيل TensorFlow.js في Node.js من TensorFlow.