Ultralytics YOLO'yu LiteRT ile MediaTek Dimensity'de dağıt
Ultralytics YOLO, mevcut LiteRT dışa aktarımı aracılığıyla MediaTek Dimensity Android telefonlarda çalışır. MediaTek'e özel bir dışa aktarım biçimi yoktur: standart bir .tflite modeli dışa aktar ve CPU ve GPU çıkarımı için LiteRT kullanan resmi Ultralytics YOLO Flutter eklentisi ile Android'de çalıştır.
Dışa aktar#
LiteRT dışa aktarımı Linux x86_64 ve macOS üzerinde desteklenir; NVIDIA Jetson gibi Linux aarch64 ana makinelerinde desteklenmez. Sınıflandırma modellerini imgsz=224 konumunda, diğer tüm görevleri ise imgsz=640 konumunda dışa aktar.
pip install ultralyticsfrom ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.export(format="litert", imgsz=640) # 'yolo26n.tflite' oluşturur (FP32)
model.export(format="litert", quantize="w8a32", imgsz=640) # 'yolo26n_w8a32.tflite' oluştururDışa aktarılan bir modeli ana makinede YOLO("yolo26n.tflite")("https://ultralytics.com/images/bus.jpg") ile kontrol edebilirsin. Bu işlem LiteRT'yi yerel olarak çalıştırır; MediaTek NPU'yu seçmez veya test etmez. Tahmin, doğrulama ve tüm dışa aktarma bağımsız değişkenleri için LiteRT kılavuzuna göz at.
Android'de dağıt#
Ultralytics YOLO Flutter eklentisi, kamera ve tek görüntü çıkarımıyla yedi YOLO26 görevinin tümü için LiteRT .tflite dışa aktarımlarını Android'de çalıştırır. Resmi w8a32 varlıkları, yolo-flutter-app v0.7.0 sürümünde yayımlanır.
Google Play'de Ultralytics YOLO Android uygulamasını dene. Aşağıdaki önizlemeler, uygulamayı iOS'te gösterir.
Dışa aktardığın modeli çalıştırmak için yolo26n_w8a32.tflite dosyasını bir Flutter uygulamasındaki assets/models/ konumuna kopyala ve eklentiyi ve varlığı pubspec.yaml konumuna ekle:
dependencies:
flutter:
sdk: flutter
ultralytics_yolo: ^0.7.1
flutter:
assets:
- assets/models/yolo26n_w8a32.tfliteflutter pub get komutunu çalıştır, ardından kamera çıkarımı için modeli lib/main.dart içinde kullan:
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'),
),
),
);Android'in minimum SDK sürümünü 24 olarak ayarla, kamera iznini ekle ve telefonda flutter run komutunu çalıştır. Android kurulumu için eklenti kurulum kılavuzuna, tek görüntü çıkarımı için hızlı başlangıç kılavuzuna göz at. Eklenti GPU çıkarımını dener; aygıt veya model GPU'yu kullanamıyorsa CPU'ya geçer.
MediaTek aygıtlarında yayımlanan Flutter eklentisi LiteRT CPU ve GPU çıkarımını destekler, ancak MediaTek NPU'yu desteklemez. Aşağıdaki NPU sonuçları, eklentinin yayımlanmamış prototip NPU derlemesi ve LiteRT mediatek 2.3.0 NPU çalışma zamanı kullanılarak FP32 dışa aktarımlarıyla ölçülmüştür (quantize yoktur). w8a32 varlıkları NPU'da tam olarak derlenmez.
Ölçülen Performans#
LiteRT kılavuzundaki Xiaomi 17T Pro sonuçları, MediaTek NPU 990 ve Android 16 / API 36 kullanan MediaTek Dimensity 9500 (MT6993) üzerinde yedi YOLO26n görevinin tümünü kapsar. Her değer, 3 ısınma çağrısından sonra yapılan 15 çağrının ortalamasıdır. CPU ve GPU ölçümlerinde ultralytics_yolo 0.7.1 ve resmi v0.7.0 w8a32 varlıkları kullanılmış; prototip NPU ölçümlerinde ise FP32 dışa aktarımları kullanılmıştır. YOLO26n algılama, CPU'da 31.4 ms, GPU'da 25.6 ms ve prototip NPU yolunda 11.0 ms sürer. Derinlik ve OBB için NPU sonucu yoktur; bu görevler bunun yerine GPU'da çalışır.
Ultralytics mobil kıyaslama sayfasında daha fazla aygıtı ve modeli karşılaştır.
MediaTek Genio#
Bu sonuçlar, LiteRT kullanan Dimensity Android telefonları içindir. MediaTek Genio IoT platformları farklı bir Yocto ve NeuroPilot yazılım yığını kullanır. Ultralytics, Genio dağıtımını doğrulamaz veya belgelemez; yukarıdaki Dimensity sonuçları Genio kartları için geçerli değildir.
Sık Sorulan Sorular#
model.export(format="litert", imgsz=640)veyayolo export model=yolo26n.pt format=litert imgsz=640kullan. Sınıflandırma içinimgsz=224kullan. Ortaya çıkan.tflitedosyası Flutter eklentisi ile çalıştırılabilir; MediaTek'e özel ayrı bir dışa aktarım biçimi yoktur.Yayımlanan eklenti LiteRT CPU ve GPU çıkarımını destekler. Yukarıdaki NPU sonuçlarında FP32 modellerle yayımlanmamış bir prototip kullanılmıştır; resmi
w8a32varlıkları NPU'da tam olarak derlenmez.Hayır. Ölçümler bir Android telefondan alınmıştır; Genio ise farklı bir yazılım yığını kullanır. Ultralytics, Genio dağıtımını doğrulamamıştır.
Yorumlar
Bir soru sor, sonuçlarını paylaş veya başka birine yardım et.