انشر Ultralytics YOLO على MediaTek Dimensity باستخدام LiteRT
يعمل Ultralytics YOLO على هواتف Android المزودة بمعالجات MediaTek Dimensity عبر تصدير LiteRT المتاح. لا يوجد تنسيق تصدير خاص بـ MediaTek؛ صدّر نموذج .tflite قياسيًا وشغّله على Android باستخدام إضافة Ultralytics YOLO الرسمية لـ Flutter، التي تستخدم LiteRT للاستدلال على CPU وGPU.
التصدير#
يدعم تصدير LiteRT أنظمة Linux x86_64 وmacOS، لكنه لا يدعم مضيفات Linux aarch64 مثل NVIDIA Jetson. صدّر نماذج التصنيف إلى imgsz=224، وجميع المهام الأخرى إلى imgsz=640.
pip install ultralyticsfrom ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="litert", imgsz=640) # ينشئ 'yolo26n.tflite' (FP32)
model.export(format="litert", quantize="w8a32", imgsz=640) # ينشئ 'yolo26n_w8a32.tflite'يمكنك فحص النموذج المُصدّر على المضيف باستخدام YOLO("yolo26n.tflite")("https://ultralytics.com/images/bus.jpg"). يشغّل هذا LiteRT محليًا ولا يحدد MediaTek NPU أو يختبره. راجع دليل LiteRT للاطلاع على التنبؤ والتحقق وجميع وسيطات التصدير.
النشر على Android#
تشغّل إضافة Ultralytics YOLO الرسمية لـ Flutter نماذج تصدير LiteRT .tflite على Android، مع الاستدلال من الكاميرا ومن صورة واحدة لمهام YOLO26 السبع. تُنشر الأصول الرسمية w8a32 في إصدار v0.7.0 لتطبيق yolo-flutter-app.
جرّب تطبيق Ultralytics YOLO لنظام Android على Google Play. تعرض المعاينات أدناه التطبيق على iOS.
لتشغيل النموذج المُصدّر، انسخ yolo26n_w8a32.tflite إلى assets/models/ في تطبيق Flutter، وأضف الإضافة والأصل إلى pubspec.yaml:
dependencies:
flutter:
sdk: flutter
ultralytics_yolo: ^0.7.1
flutter:
assets:
- assets/models/yolo26n_w8a32.tfliteشغّل flutter pub get، ثم استخدم النموذج للاستدلال من الكاميرا في lib/main.dart:
import 'package:flutter/material.dart';
import 'package:ultralytics_yolo/ultralytics_yolo.dart';
void main() => runApp(
MaterialApp(
home: Scaffold(
body: YOLOView(modelPath: 'assets/models/yolo26n_w8a32.tflite'),
),
),
);اضبط الحد الأدنى لإصدار SDK على Android على 24، وأضف إذن الكاميرا، وشغّل flutter run على الهاتف. راجع دليل تثبيت الإضافة لإعداد Android ودليل البدء السريع للاستدلال على صورة واحدة. تحاول الإضافة إجراء الاستدلال باستخدام GPU، وتتحول إلى CPU إذا تعذّر على الجهاز أو النموذج استخدام GPU.
على أجهزة MediaTek، تدعم إضافة Flutter المتاحة الاستدلال باستخدام LiteRT على CPU وGPU، لكنها لا تدعم MediaTek NPU. قِيست نتائج NPU أدناه باستخدام إصدار نموذجي غير مُتاح من الإضافة يدعم NPU وبيئة تشغيل NPU الخاصة بـ LiteRT mediatek 2.3.0، مع استخدام نماذج مُصدّرة بصيغة FP32 (من دون quantize). لا تُترجم أصول w8a32 بالكامل على NPU.
الأداء المقاس#
تغطي نتائج Xiaomi 17T Pro في دليل LiteRT جميع مهام YOLO26n السبع على MediaTek Dimensity 9500 (MT6993) مع MediaTek NPU 990 وAndroid 16 / API 36. تمثل كل قيمة متوسط 15 استدعاءً بعد 3 عمليات إحماء. استخدمت قياسات CPU وGPU ultralytics_yolo و0.7.1 وأصول v0.7.0 وw8a32 الرسمية؛ أما قياسات NPU النموذجية فاستخدمت نماذج مُصدّرة بصيغة FP32. يستغرق كشف YOLO26n مدة 31.4 ms على CPU، و25.6 ms على GPU، و11.0 ms عبر مسار NPU النموذجي. لا تتوفر نتيجة NPU لمهمتي Depth وOBB، وتُشغّلان على GPU بدلًا من ذلك.
قارن مزيدًا من الأجهزة والنماذج في صفحة معايير أداء Ultralytics للأجهزة المحمولة.
MediaTek Genio#
تخص هذه النتائج هواتف Dimensity Android التي تستخدم LiteRT. أما منصات إنترنت الأشياء Genio من MediaTek فتستخدم حزمة برمجية منفصلة من Yocto وNeuroPilot. لا تتحقق Ultralytics من النشر على Genio ولا توثّقه، ولا تنطبق نتائج Dimensity أعلاه على لوحات Genio.
الأسئلة الشائعة#
استخدم
model.export(format="litert", imgsz=640)أوyolo export model=yolo26n.pt format=litert imgsz=640. واستخدمimgsz=224للتصنيف. يمكن تشغيل الملف الناتج.tfliteباستخدام إضافة Flutter؛ إذ لا يوجد تنسيق تصدير منفصل لـ MediaTek.تدعم الإضافة المتاحة الاستدلال باستخدام LiteRT على CPU وGPU. استخدمت نتائج NPU أعلاه إصدارًا نموذجيًا غير مُتاح ونماذج FP32؛ ولا تُترجم الأصول الرسمية
w8a32بالكامل على NPU.لا. أُخذت القياسات من هاتف Android، بينما يستخدم Genio حزمة برمجية مختلفة. لم تتحقق Ultralytics من النشر على Genio.
التعليقات
اطرح سؤالًا، وشارك نتائجك، أو ساعد شخصًا آخر.