Ultralytics YOLO27:

تصدير نماذج YOLO إلى LiteRT للنشر على الأجهزة الطرفية والويب#

LiteRT edge deployment framework

إن LiteRT (اختصار لـ بيئة تشغيل Lite) بيئة تشغيل عالية الأداء من Google للذكاء الاصطناعي على الجهاز. وهي الجيل التالي والاسم الجديد لـ TensorFlow Lite ‏(TFLite)، وتستخدم تنسيق النموذج نفسه .tflite. باستخدام LiteRT، يمكن نشر نموذج Ultralytics YOLO مُصدَّر واحد على الأجهزة المحمولة والمضمنة والطرفية والمتصفح — لتغطية جميع الاستخدامات التي كانت تتولاها تنسيقات التصدير الأقدم tflite وtfjs كلٌ على حدة، ضمن إطار موحد.



شاهد: كيفية تصدير Ultralytics YOLO26 إلى Google LiteRT | نشر الذكاء الاصطناعي للرؤية على Android وiOS | الذكاء الاصطناعي للأجهزة المحمولة 📱🚀

يهيئ تنسيق تصدير LiteRT نماذجك لمهام مثل اكتشاف الكائنات والتجزئة وتقدير الوضعيات والتصنيف، لتعمل بسرعة ودون اتصال على مجموعة واسعة من الأجهزة.

شغّل YOLO على Android باستخدام LiteRT اليوم عبر إضافة Flutter الرسمية

تشغّل إضافة Ultralytics YOLO الرسمية لـ Flutter صادرات LiteRT .tflite على Android مباشرةً، دون إعداد إضافي — وتشمل الاستدلال الفوري بالكاميرا، والتنبؤ بصورة واحدة، وتسريع GPU، والتنزيل التلقائي للنموذج لمهام YOLO26 السبع، بما فيها العمق. لأجهزة Apple، استخدم تصدير CoreML؛ وللوحدات NPU من Qualcomm Snapdragon، راجع تكامل Qualcomm QNN.

أحجام الإدخال الرسمية للأجهزة المحمولة

صدّر نماذج التصنيف باستخدام imgsz=224. وصدّر نماذج الاكتشاف والتجزئة والتجزئة الدلالية والعمق والوضعيات وOBB باستخدام imgsz=640. ويُستخدم معيار 224/640 نفسه في أصول LiteRT وCoreML وQNN الرسمية للأجهزة المحمولة.

شغّل YOLO على الويب باستخدام LiteRT.js اليوم عبر حزمة npm الرسمية @ultralytics/yolo

تشغّل حزمة NPM الرسمية من Ultralytics YOLO صادرات LiteRT .tflite مباشرةً في المتصفح عبر LiteRT.js، دون الحاجة إلى خادم أو Python — مع استدلال فوري بكاميرا الويب، والتنبؤ بصورة واحدة، وتسريع WebGPU (مع الرجوع تلقائيًا إلى CPU/WASM) عبر ست مهام لـ YOLO26 (الاكتشاف والتجزئة والتجزئة الدلالية والتصنيف والوضعيات وOBB). وعلى WebGPU، يكون أسرع غالبًا بنحو ~2× من ONNX Runtime Web.

npm i @ultralytics/yolo @litertjs/core

لماذا تصدّر إلى LiteRT؟#

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

تنسيق نموذج واحد، لكل وجهة:

  • الأجهزة المحمولة والمضمنة: Android وiOS وLinux المضمن ووحدات التحكم الدقيقة (MCUs).
  • مسرّعات الأجهزة الطرفية: متوافق مع Coral Edge TPU لتسريع إضافي.
  • المتصفح وNode.js: يشغّل LiteRT.js النموذج .tflite نفسه على الويب مع تسريع WebGPU/WASM — ما يلغي الحاجة إلى تصدير منفصل لـ TensorFlow.js.

الميزات الرئيسية لنماذج LiteRT#

  • التحسين على الجهاز: يقلّل زمن الاستجابة عبر معالجة البيانات محليًا، ويعزّز الخصوصية من خلال عدم نقل البيانات الشخصية، ويقلّل حجم النموذج لتوفير المساحة.
  • دعم منصات متعددة: يعمل على Android وiOS وLinux المضمّن والمتحكمات الدقيقة ومتصفحات الويب الحديثة.
  • تسريع الأجهزة: يستفيد من XNNPACK على CPU، ومن تسريع GPU عبر OpenCL وMetal وWebGPU. يعمل مفوّض GPU افتراضيًا بدقة FP16 لتحقيق سرعة إضافية.
  • التكميم: يدعم FP32 وINT8 ثابتًا (quantize=8، أوزان int8 + تنشيطات int8) وINT16 ثابتًا للتنشيطات (quantize="w8a16"، أوزان int8 + تنشيطات int16 لدقة أعلى) وINT8 ديناميكيًا (quantize="w8a32"، أوزان int8 + تنشيطات FP32، من دون الحاجة إلى بيانات المعايرة) لضغط النماذج وتسريع الاستدلال مع أقل قدر من فقدان الدقة.
  • دعم لغات متنوعة: متوافق مع Java/Kotlin وSwift وObjective-C وC++ وPython وJavaScript.

الأداء المقاس#

الأجهزة: Xiaomi 17 بذاكرة LPDDR5X سعتها 12 GB وAndroid 16 / API 36. ويضم Snapdragon 8 Elite Gen 5 بدقة تصنيع 3 nm (SM8850) وحدة CPU من Qualcomm Oryon بثماني نوى (نواتا Prime تصلان إلى 4.6 GHz وست نوى Performance تصل إلى 3.62 GHz)، ووحدة GPU من Adreno، ووحدة NPU من Hexagon.

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(مللي ثانية)
GPU
w8a32 LiteRT
(مللي ثانية)
YOLO26nDetect64052.2
1.8 / 48.1 / 2.4
15.8
2.3 / 8.9 / 4.6
YOLO26n-segSegment64073.4
1.8 / 65.6 / 6.0
33.2
1.8 / 23.8 / 7.6
YOLO26n-semدلالي64061.2
1.8 / 51.1 / 8.3
34.2
1.8 / 24.0 / 8.3
YOLO26n-depthالعمق640124.4
1.9 / 115.1 / 7.4
23.0
1.8 / 13.5 / 7.7
YOLO26n-clsالتصنيف2244.4
0.4 / 4.0 / 0.0
3.1
0.8 / 2.1 / 0.2
YOLO26n-poseالوضعية64057.4
1.8 / 53.8 / 1.8
16.6
2.7 / 10.1 / 3.9
YOLO26n-obbOBB64050.3
1.8 / 47.2 / 1.4
11.7
1.8 / 7.8 / 2.0
  • تمثل قيم السرعة زمن الاستجابة لدفعة من صورة واحدة — أي متوسط 15 تشغيلًا بعد 3 عمليات إحماء على bus.jpg، مقاسًا باستخدام إضافة Ultralytics لـFlutter 0.6.10 وأصول v0.6.6 الموحّدة. تناوب ترتيب CPU/GPU بين المهام في عملية قياس متتابعة واحدة. أكدت السجلات الأصلية أن كل صف CPU استخدم LiteRT CPU/XNNPACK، وأن كل صف GPU فوّض الرسم البياني الكامل إلى LiteRT OpenCL (LITERT_CL).
  • يتتبّع تصدير LiteRT نموذج PyTorch مباشرةً، وينتج .tflite بتنسيق NCHW ومدخل عائم — إذ يترجم مفوّض GPU الرسم البياني بأكمله (وتعمل المهام السبع كلها على GPU من Adreno هنا)، كما أن w8a32 لا يحتاج إلى بيانات معايرة. ينبغي للمستهلكين قراءة أشكال الموترات وأسماء التوقيعات بدلًا من افتراض تخطيط NHWC القديم لـonnx2tf أو أسماء مخرجات Identity؛ ويجب تعبئة بيانات RGB مباشرةً بتنسيق CHW مستوٍ أو تبديل أبعادها قبل الاستدلال. تُرجع عمليات التصدير الدلالية درجات NCHW، وتتطلب حساب argmax للفئات على المضيف. تتوفر أصول Android الرسمية في إصدار v0.6.6 لتطبيق yolo-flutter-app، وسجل الأداء التفصيلي في وثيقة أداء Flutter.
  • تجد أرقام Hexagon NPU المطابقة على Snapdragon، إلى جانب أرقام LiteRT CPU/GPU، في تكامل Qualcomm QNN.
  • قارن نتائج CPU/المسرّع من Apple في تكامل CoreML.

تستخدم اختبارات الأجهزة التالية أصول v0.6.6 الموحّدة نفسها.

Google Pixel 10#

الأجهزة: Google Pixel 10 بذاكرة سعتها 12 GB وAndroid 16 / API 36. ويضم Google Tensor G5 بدقة تصنيع 3 nm وحدة CPU بثماني نوى (نواة Prime واحدة تصل إلى 3.78 GHz، وخمس نوى Performance تصل إلى 3.05 GHz، ونواتا Efficiency تصلان إلى 2.25 GHz)، ووحدة GPU من PowerVR D-Series، ووحدة TPU من Google. قُرئت ترددات الأنوية واسم برنامج تشغيل GPU من جهاز الاختبار، لأن Google لا تنشرهما ضمن المواصفات المرتبطة.

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(مللي ثانية)
GPU
w8a32 LiteRT
(مللي ثانية)
YOLO26nDetect64053.3
1.5 / 50.2 / 1.6
45.5
3.8 / 37.7 / 4.0
YOLO26n-segSegment64087.7
1.8 / 78.5 / 7.5
50.9
3.0 / 36.9 / 10.9
YOLO26n-semدلالي64068.6
1.5 / 59.0 / 8.0
71.6
1.5 / 59.5 / 10.6
YOLO26n-depthالعمق640120.3
1.5 / 112.5 / 6.3
52.5
2.0 / 37.5 / 13.0
YOLO26n-clsالتصنيف2244.0
0.3 / 3.4 / 0.2
17.6
0.9 / 16.7 / 0.1
YOLO26n-poseالوضعية64059.7
1.5 / 57.0 / 1.2
46.6
3.8 / 39.2 / 3.5
YOLO26n-obbOBB64052.0
1.5 / 48.9 / 1.7
45.5
4.0 / 38.5 / 2.9

الاختبار: متوسط 15 استدعاءً لـpredict() بعد 3 عمليات إحماء على bus.jpg، باستخدام ultralytics_yolo و0.6.10 والأصول الرسمية v0.6.6. يتناوب ترتيب CPU/GPU بين المهام في عملية قياس متتابعة واحدة. أكدت السجلات الأصلية أن كل صف CPU استخدم LiteRT CPU/XNNPACK، وأن كل صف GPU فوّض الرسم البياني الكامل إلى LiteRT OpenCL (LITERT_CL).

Samsung Galaxy S26#

الأجهزة: Samsung Galaxy S26 (SM-S942B) بذاكرة سعتها 12 GB وAndroid 16 / API 36. ويضم Exynos 2600 بدقة تصنيع 2 nm وحدة CPU من Armv9.3 بعشر نوى (نواة C1-Ultra واحدة تصل إلى 3.8 GHz، وثلاث نوى C1-Pro للأداء تصل إلى 3.26 GHz، وست نوى C1-Pro للكفاءة تصل إلى 2.76 GHz)، ووحدة GPU من Xclipse 960، ووحدة NPU من Samsung.

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(مللي ثانية)
GPU
w8a32 LiteRT
(مللي ثانية)
YOLO26nDetect64036.7
1.3 / 33.8 / 1.7
16.4
1.4 / 12.3 / 2.6
YOLO26n-segSegment64054.6
1.2 / 48.0 / 5.3
32.8
1.3 / 24.5 / 7.0
YOLO26n-semدلالي64047.8
1.2 / 38.4 / 8.1
34.2
1.3 / 24.9 / 8.0
YOLO26n-depthالعمق64092.9
1.2 / 84.8 / 6.9
33.5
1.3 / 22.4 / 9.8
YOLO26n-clsالتصنيف2242.7
0.2 / 2.3 / 0.2
2.6
0.2 / 2.4 / 0.0
YOLO26n-poseالوضعية64042.8
1.3 / 40.5 / 1.0
18.4
1.4 / 14.1 / 2.9
YOLO26n-obbOBB64037.5
1.3 / 35.1 / 1.2
18.8
2.5 / 14.6 / 1.8

الاختبار: متوسط 15 استدعاءً لـpredict() بعد 3 عمليات إحماء على bus.jpg، باستخدام ultralytics_yolo و0.6.10 والأصول الرسمية v0.6.6. يتناوب ترتيب CPU/GPU بين المهام في عملية قياس متتابعة واحدة. أكدت السجلات الأصلية أن كل صف CPU استخدم LiteRT CPU/XNNPACK، وأن كل صف GPU فوّض الرسم البياني الكامل إلى LiteRT OpenCL (LITERT_CL).

Xiaomi 17T Pro#

الأجهزة: Xiaomi 17T Pro (2602EPTC0G) بذاكرة LPDDR5X سعتها 12 GB وAndroid 16 / API 36. ويضم MediaTek Dimensity 9500 بدقة تصنيع 3 nm (MT6993) وحدة CPU من Armv9.3 بثماني نوى (نواة C1-Ultra واحدة تصل إلى 4.21 GHz، وثلاث نوى C1-Premium تصل إلى 3.5 GHz، وأربع نوى C1-Pro تصل إلى 2.7 GHz)، ووحدة GPU من Mali-G1 Ultra MC12، ووحدة NPU 990 من MediaTek.

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(مللي ثانية)
GPU
w8a32 LiteRT
(مللي ثانية)
YOLO26nDetect64045.4
1.3 / 42.1 / 2.0
26.6
1.9 / 22.0 / 2.7
YOLO26n-segSegment640126.2
2.6 / 113.9 / 9.7
46.7
2.6 / 33.3 / 10.8
YOLO26n-semدلالي640117.9
2.6 / 98.8 / 16.5
74.3
2.6 / 54.7 / 17.0
YOLO26n-depthالعمق640182.4
2.5 / 167.6 / 12.3
47.8
2.5 / 32.3 / 12.9
YOLO26n-clsالتصنيف2246.2
0.4 / 5.3 / 0.4
7.4
0.4 / 6.9 / 0.1
YOLO26n-poseالوضعية64097.6
2.5 / 93.3 / 1.8
28.6
2.5 / 23.3 / 2.8
YOLO26n-obbOBB64091.5
2.6 / 85.8 / 3.2
27.5
2.7 / 21.8 / 2.9

الاختبار: متوسط 15 استدعاءً لـpredict() بعد 3 عمليات إحماء على bus.jpg، باستخدام ultralytics_yolo و0.6.10 والأصول الرسمية v0.6.6. يتناوب ترتيب CPU/GPU بين المهام في عملية قياس متتابعة واحدة. أكدت السجلات الأصلية أن كل صف CPU استخدم LiteRT CPU/XNNPACK، وأن كل صف GPU فوّض الرسم البياني الكامل إلى LiteRT OpenCL (LITERT_CL).

المهام المدعومة#

يدعم تصدير LiteRT مهام Ultralytics السبع كلها. لا يتوفر التقسيم الدلالي وتقدير العمق إلا في YOLO26، وهي العائلة الوحيدة التي تتضمن هذه الرؤوس.

المهمةYOLOv8YOLO11YOLO26
كشف✅✅✅
تجزئة✅✅✅
دلالي❌❌✅
العمق❌❌✅
تصنيف✅✅✅
الوضعية✅✅✅
OBB✅✅✅

التصدير إلى LiteRT: تحويل نموذج YOLO#

يمكنك تحسين كفاءة التنفيذ على الجهاز وتوسيع خيارات النشر بتحويل نماذجك إلى تنسيق LiteRT.

التثبيت#

لتثبيت الحزمة المطلوبة، شغّل:

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

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

دعم المنصات

يدعم تصدير LiteRT حاليًا Linux x86_64 وmacOS. أما نموذج .tflite المُصدّر نفسه فيعمل على جميع المنصات التي يدعمها LiteRT (الأجهزة المحمولة والمضمّنة والطرفية والمتصفح).

الاستخدام#

تدعم نماذج Ultralytics YOLO جميعها التصدير مباشرةً. ويدعم تنسيق LiteRT أوضاع التصدير والتنبؤ والتحقق، لذا يمكنك تصدير نموذج ثم تحميله لإجراء الاستدلال أو التحقق من دقته محليًا.

التصدير
from ultralytics import YOLO

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

# ⁨تصدير النموذج إلى تنسيق LiteRT⁩
model.export(format="litert", imgsz=640)  # ⁨ينشئ 'yolo26n.tflite'؛ استخدم imgsz=224 للتصنيف⁩
التصدير المكمّم
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# ⁨INT8 ديناميكي: أوزان int8 وتنشيطات FP32 - لا حاجة إلى بيانات معايرة⁩
model.export(format="litert", quantize="w8a32", imgsz=640)  # ⁨ينشئ 'yolo26n_w8a32.tflite'⁩

# ⁨INT8 ثابت: أوزان int8 + تنشيطات int8 - يحتاج إلى بيانات معايرة⁩
model.export(format="litert", quantize=8, data="coco8.yaml", imgsz=640)  # ⁨ينشئ 'yolo26n_int8.tflite'⁩

# ⁨w8a16 ثابت: أوزان int8 + تنشيطات int16 (دقة أعلى) - يحتاج إلى بيانات معايرة⁩
model.export(format="litert", quantize="w8a16", data="coco8.yaml", imgsz=640)  # ⁨ينشئ 'yolo26n_w8a16.tflite'⁩
التنبؤ
from ultralytics import YOLO

# ⁨تحميل نموذج LiteRT المُصدّر⁩
model = YOLO("yolo26n.tflite")

# ⁨تنفيذ الاستدلال⁩
results = model("https://ultralytics.com/images/bus.jpg")
تحقّق
from ultralytics import YOLO

# ⁨تحميل نموذج LiteRT المُصدّر⁩
model = YOLO("yolo26n.tflite")

# ⁨# التحقق من الدقة على مجموعة بيانات COCO8⁩
metrics = model.val(data="coco8.yaml")

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

المعاملالنوعالافتراضيالوصف
formatstr'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 بشكل منفصل (انظر الملاحظة أدناه). يحل هذا محل العلامات المهجورة half/int8.
batchint1يحدد حجم الدفعة للاستدلال بنموذج التصدير، أو الحد الأقصى لعدد الصور التي سيعالجها النموذج المُصدّر بالتزامن في وضع predict.
datastrNoneملف YAML لمجموعة البيانات المستخدم لمعايرة INT8؛ أما التصنيف فيتطلب دليل مجموعة بيانات أو اسم مجموعة بيانات مضمّنة. إذا لم يُحدّد مع quantize=8 أو 'w8a16'، تختار Ultralytics مجموعة بيانات المعايرة الافتراضية لمهمة النموذج.
fractionfloat أو int أو list1.0مجموعة فرعية للمعايرة محددة كنسبة أو عدد صور أو نسب/أعداد [train, val, test]. تترك القوائم المكوّنة من عنصرين test كاملة، بينما تتجاوزها 0.
devicestrNoneيحدد الجهاز المستخدم للتصدير. يُجرى تصدير LiteRT على CPU (device=cpu).
دقة FP16

على خلاف تصدير tflite القديم، لا يتطلب LiteRT تصديرًا منفصلًا بدقة FP16. يعمل نموذج .tflite بدقة FP32 بدقة نصفية أثناء التشغيل عند استخدام مفوّض GPU (WebGPU أو OpenCL أو Metal) — وهذا هو النهج الرسمي لـLiteRT لاستدلال FP16.

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

نشر نماذج YOLO المُصدّرة بتنسيق LiteRT#

بعد تصدير نموذج Ultralytics YOLO إلى LiteRT، يمكنك نشره عبر منصات متعددة. وأسرع طريقة للتحقق منه محليًا هي طريقة YOLO("yolo26n.tflite") الموضحة أعلاه. وللنشر في بيئات أخرى، راجع الموارد التالية:

الأجهزة المحمولة والمضمنة#

  • Android: دليل البدء السريع لدمج LiteRT في تطبيقات Android.
  • iOS: دليل لدمج نماذج LiteRT ونشرها في تطبيقات iOS.
  • Linux المضمن وRaspberry Pi: شغّل نماذج LiteRT على الحواسيب أحادية اللوحة، مع إمكانية تسريعها باستخدام Coral Edge TPU.
  • المتحكمات الدقيقة: انشر على وحدات MCU التي لا تتوفر إلا على بضعة كيلوبايتات من الذاكرة — إذ يشغل وقت التشغيل الأساسي نحو 16 كيلوبايت على Arm Cortex-M3.

المتصفح وNode.js (LiteRT.js)#

  • نظرة عامة على LiteRT.js: شغّل نموذج .tflite نفسه مباشرةً في المتصفح مع تسريع WebGPU/WASM، ما يلغي الحاجة إلى الحوسبة من جهة الخادم ويحفظ البيانات على جهاز المستخدم.
  • أمثلة شاملة: أمثلة ودروس عملية لتنفيذ LiteRT على الأجهزة المحمولة والطرفية والويب.

الملخص#

في هذا الدليل، تناولنا كيفية تصدير نماذج Ultralytics YOLO إلى تنسيق LiteRT. ومن خلال توحيد النشر على الأجهزة المحمولة/الطرفية (المعروف سابقًا باسم TFLite) وفي المتصفح (المعروف سابقًا باسم TF.js) ضمن نموذج .tflite واحد، يجعل LiteRT نماذج YOLO أسرع وأصغر حجمًا وقابلة للنقل إلى كل أجهزة التشغيل تقريبًا.

لمزيد من التفاصيل، تفضّل بزيارة الوثائق الرسمية لـ LiteRT.

وإذا كنت مهتمًا أيضًا بعمليات تكامل Ultralytics YOLO الأخرى، فاطّلع على صفحة دليل التكامل للاطلاع على الكثير من الموارد المفيدة.

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

  • استخدم مكتبة Ultralytics لتصدير نموذج YOLO إلى LiteRT (.tflite). أولًا، ثبّت الحزمة:

    pip install ultralytics

    بعد ذلك، صدّر النموذج:

    from ultralytics import YOLO
    
    # ⁨تحميل نموذج YOLO26⁩
    model = YOLO("yolo26n.pt")
    
    # ⁨تصدير النموذج إلى تنسيق LiteRT⁩
    model.export(format="litert", imgsz=640)  # ⁨استخدم imgsz=224 للتصنيف⁩

    لمستخدمي CLI:

    yolo export model=yolo26n.pt format=litert imgsz=640 # use imgsz=224 for classification

    لمزيد من التفاصيل، تفضّل بزيارة دليل التصدير من Ultralytics.

  • LiteRT هو الاسم الجديد لـ TensorFlow Lite — تنسيق النموذج .tflite نفسه وسلسلة وقت التشغيل نفسها، مع تغيير العلامة التجارية من Google. في Ultralytics، يغطي تنسيق التصدير الموحد litert الآن حالتي الاستخدام اللتين كانتا تتطلبان سابقًا تنسيقين منفصلين:

    • تنسيق tflite القديم ← النشر على الأجهزة المحمولة والمضمنة والطرفية.
    • تنسيق tfjs القديم ← النشر في المتصفح وNode.js، وتتكفل به الآن LiteRT.js التي تشغّل الملف .tflite نفسه.

    إذا كان لديك ملف .tflite موجود، فيمكنك تحميله مباشرةً باستخدام YOLO("model.tflite")، وسيعمل عبر الواجهة الخلفية LiteRT.

  • نعم. صدّر النموذج إلى تنسيق LiteRT، ثم شغّله على Raspberry Pi لتحسين سرعات الاستدلال. ولمزيد من التحسين، فكّر في استخدام Coral Edge TPU. للاطلاع على الخطوات التفصيلية، راجع دليل النشر على Raspberry Pi.

  • نعم. تشغّل LiteRT.js نموذج .tflite المُصدّر نفسه مباشرةً في متصفح ويب أو تطبيق Node.js، مع تسريع WebGPU/WASM. وهذا يحل محل سير عمل TensorFlow.js السابق — فلا حاجة إلى تصدير منفصل للمتصفح، إذ يكفي نشر نموذج LiteRT باستخدام وقت تشغيل LiteRT.js.

  • نعم — أثناء وقت التشغيل. يعمل نموذج LiteRT بدقة FP32 تلقائيًا بدقة FP16 عند تنفيذه على مفوّض GPU (WebGPU أو OpenCL أو Metal)، وهذا هو النهج الرسمي في LiteRT. لذلك، لا تحتاج إلى تصدير مخصص بدقة FP16؛ ولزيادة الضغط، استخدم تكميم INT8 مع quantize=8.

  • إذا واجهت أخطاء أثناء تصدير نماذج YOLO إلى LiteRT، فمن الحلول الشائعة:

    • تحقّق من المنصة: يُدعم تصدير LiteRT على Linux x86_64 وmacOS. تحقّق من توافق بيئتك مع ذلك.
    • تحقّق من توافق الحزم: تأكد من استخدام إصدار متوافق من Ultralytics. راجع دليل التثبيت.
    • مشكلات التكميم: عند استخدام تكميم INT8، تأكد من تحديد مسار مجموعة البيانات على نحو صحيح في المعامل data.

    للحصول على نصائح إضافية لاستكشاف الأخطاء وإصلاحها، تفضّل بزيارة دليل المشكلات الشائعة.

التعليقات