YOLO Vision 2026:

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

LiteRT edge deployment framework

LiteRT (اختصار لـ Lite Runtime) هو محرك Google عالي الأداء للذكاء الاصطناعي على الأجهزة الطرفية. وهو الجيل التالي والاسم الجديد لـ TensorFlow Lite (TFLite)، حيث يشغل نفس تنسيق نموذج .tflite. مع LiteRT، يتم نشر نموذج Ultralytics YOLO واحد عبر الهواتف المحمولة، الأنظمة المدمجة، الأجهزة الطرفية، والمتصفح - ليغطي كل ما كانت تتعامل معه تنسيقات التصدير الأقدم tflite و tfjs بشكل منفصل، تحت مظلة واحدة الآن.

يعمل تنسيق تصدير 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 اليوم عبر حزمة @ultralytics/yolo الرسمية على npm.

تقوم حزمة Ultralytics YOLO NPM الرسمية بتشغيل صادرات 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 افتراضياً لزيادة السرعة.
  • الكمية (Quantization): يدعم 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 جيجابايت ونظام Android 16 / API 36. معالجها بحجم 3 نانومتر Snapdragon 8 Elite Gen 5 (SM8850) يمتلك وحدة معالجة مركزية Qualcomm Oryon بـ 8 أنوية (نواتان أساسيتان Prime تصل سرعتهما إلى 4.6 جيجاهرتز و6 أنوية أداء Performance تصل سرعتهما إلى 3.62 جيجاهرتز)، ووحدة معالجة رسومات Adreno، و وحدة معالجة عصبية Hexagon NPU.

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(ms)
GPU
w8a32 LiteRT
(ms)
YOLO26nاكتشاف64052.2
1.8 / 48.1 / 2.4
15.8
2.3 / 8.9 / 4.6
YOLO26n-segتجزئة64073.4
1.8 / 65.6 / 6.0
33.2
1.8 / 23.8 / 7.6
YOLO26n-semدلالي (Semantic)64061.2
1.8 / 51.1 / 8.3
34.2
1.8 / 24.0 / 8.3
YOLO26n-depthالعمق (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 بين المهام في جولة متسلسلة واحدة. أكدت السجلات المحلية أن كل صف في وحدة المعالجة المركزية استخدم LiteRT CPU/XNNPACK وأن كل صف في وحدة معالجة الرسومات قام بتفويض الرسم البياني الكامل إلى LiteRT OpenCL (LITERT_CL).
  • يتتبع تصدير LiteRT نموذج PyTorch مباشرة، ينتج عنه NCHW .tflite مع مدخل عائم - يقوم مفوض وحدة معالجة الرسومات بتجميع الرسم البياني بالكامل (جميع المهام السبعة تعمل على Adreno GPU هنا)، ولا يحتاج w8a32 إلى بيانات معايرة. يجب على المستهلكين قراءة أشكال الموتر وأسماء التوقيع بدلاً من افتراض تخطيط onnx2tf NHWC القديم أو أسماء مخرجات Identity؛ قم بتعبئة بيانات RGB مباشرة كـ CHW مستوٍ أو قم بتبديلها قبل الاستدلال. تُرجع الصادرات الدلالية سجلات NCHW وتتطلب وسيط argmax من جانب المضيف. يتم استضافة أصول Android الرسمية على إصدار yolo-flutter-app v0.6.6، مع سجل المعيار المفصل في مستند أداء Flutter.
  • توجد أرقام وحدة المعالجة العصبية Hexagon NPU ووحدة المعالجة المركزية/الرسومات LiteRT المتطابقة في تكامل Qualcomm QNN.
  • قارن نتائج وحدة المعالجة المركزية والمعجل لأجهزة Apple في تكامل CoreML.

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

Google Pixel 10#

الأجهزة: Google Pixel 10 بذاكرة سعة 12 جيجابايت ونظام Android 16 / API 36. معالجها بحجم 3 نانومتر Google Tensor G5 يحتوي على وحدة معالجة مركزية بـ 8 أنوية (نواة أساسية Prime تصل إلى 3.78 جيجاهرتز، و5 أنوية أداء Performance تصل إلى 3.05 جيجاهرتز، ونواتي كفاءة Efficiency تصلان إلى 2.25 جيجاهرتز)، ووحدة معالجة رسومات PowerVR D-Series، ووحدة معالجة Google TPU. تمت قراءة سرعات الساعات واسم برنامج تشغيل وحدة معالجة الرسومات من جهاز القياس المعياري لأن Google لا تنشرها في المواصفات المرتبطة.

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(ms)
GPU
w8a32 LiteRT
(ms)
YOLO26nاكتشاف64053.3
1.5 / 50.2 / 1.6
45.5
3.8 / 37.7 / 4.0
YOLO26n-segتجزئة64087.7
1.8 / 78.5 / 7.5
50.9
3.0 / 36.9 / 10.9
YOLO26n-semدلالي (Semantic)64068.6
1.5 / 59.0 / 8.0
71.6
1.5 / 59.5 / 10.6
YOLO26n-depthالعمق (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

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

Samsung Galaxy S26#

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

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(ms)
GPU
w8a32 LiteRT
(ms)
YOLO26nاكتشاف64036.7
1.3 / 33.8 / 1.7
16.4
1.4 / 12.3 / 2.6
YOLO26n-segتجزئة64054.6
1.2 / 48.0 / 5.3
32.8
1.3 / 24.5 / 7.0
YOLO26n-semدلالي (Semantic)64047.8
1.2 / 38.4 / 8.1
34.2
1.3 / 24.9 / 8.0
YOLO26n-depthالعمق (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

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

Xiaomi 17T Pro#

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

النموذجالمهمةالحجم
(بكسل)
CPU
w8a32 LiteRT
(ms)
GPU
w8a32 LiteRT
(ms)
YOLO26nاكتشاف64045.4
1.3 / 42.1 / 2.0
26.6
1.9 / 22.0 / 2.7
YOLO26n-segتجزئة640126.2
2.6 / 113.9 / 9.7
46.7
2.6 / 33.3 / 10.8
YOLO26n-semدلالي (Semantic)640117.9
2.6 / 98.8 / 16.5
74.3
2.6 / 54.7 / 17.0
YOLO26n-depthالعمق (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

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

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

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

المهمةYOLOv8YOLO11YOLO26
Detect
Segment
Semantic
Depth
Classify
Pose
OBB

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

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

التثبيت#

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

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

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

دعم المنصة

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

الاستخدام#

تدعم جميع نماذج Ultralytics YOLO التصدير بشكل جاهز. يدعم تنسيق LiteRT أوضاع التصدير (Export)، والتنبؤ (Predict)، والتحقق (Validate)، بحيث يمكنك تصدير النموذج، ثم تحميله لتشغيل الاستدلال أو التحقق من دقته محلياً.

التصدير
from ultralytics import YOLO

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

# Export the model to LiteRT format
model.export(format="litert", imgsz=640)  # use imgsz=224 for classification
تصدير مكمم
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Dynamic INT8: int8 weights, FP32 activations - no calibration data needed
model.export(format="litert", quantize="w8a32", imgsz=640)  # use imgsz=224 for classification

# Static INT8: int8 weights + int8 activations - needs calibration data
model.export(format="litert", quantize=8, data="coco8.yaml", imgsz=640)  # use 224 for classification

# Static w8a16: int8 weights + int16 activations (higher accuracy) - needs calibration data
model.export(format="litert", quantize="w8a16", data="coco8.yaml", imgsz=640)  # use 224 for classification
التنبؤ
from ultralytics import YOLO

# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")

# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
التحقق
from ultralytics import YOLO

# Load the exported LiteRT model
model = YOLO("yolo26n.tflite")

# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

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

الوسيطالنوعالافتراضيالوصف
formatstr'litert'التنسيق المستهدف للنموذج المصدر، والذي يحدد التوافق مع بيئات النشر المختلفة.
imgszint أو tuple640حجم الصورة المطلوب لإدخال النموذج. يمكن أن يكون رقماً صحيحاً للصور المربعة أو صفاً (tuple) (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 بتحديد مجموعة بيانات المعايرة الافتراضية لمهام النموذج.
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.
  • Embedded Linux & Raspberry Pi: تشغيل نماذج LiteRT على حواسيب اللوحة الواحدة، مع إمكانية التسريع باستخدام Coral Edge TPU.
  • Microcontrollers: النشر على وحدات التحكم الدقيقة ذات الذاكرة التي لا تتعدى بضع كيلوبايتات - يتلاءم وقت التشغيل الأساسي في حوالي 16 كيلوبايت على معالج Arm Cortex-M3.

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

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

ملخص#

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

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

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

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

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

    pip install ultralytics

    ثم قم بتصدير نموذجك:

    from ultralytics import YOLO
    
    # Load a YOLO26 model
    model = YOLO("yolo26n.pt")
    
    # Export the model to LiteRT format
    model.export(format="litert", imgsz=640)  # use imgsz=224 for classification

    لمستخدمي واجهة سطر الأوامر (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.

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

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

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

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

التعليقات