Ultralytics YOLO26'yı Coral Edge TPU ile Raspberry Pi'da Çalıştırma#
Bir Raspberry Pi, uçta bilgisayarlı görü çalıştırmak için enerji tasarruflu ve uygun fiyatlı bir platformdur; ancak ONNX veya OpenVINO gibi optimize edilmiş biçimlerde bile cihaz üzerindeki çıkarım yavaştır. Pi'ı bir Coral Edge TPU yardımcı işlemcisiyle eşleştirmek, çıkarımı özel donanıma aktarır ve önemli ölçüde hızlandırır. Bu kılavuzda çalışma zamanını nasıl yükleyeceğin, bir Ultralytics YOLO26 modelini Edge TPU biçimine nasıl aktaracağın ve hızlandırılmış çıkarımı nasıl çalıştıracağın gösterilir.
Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Neden Coral Edge TPU Kullanmalısın?#
Coral Edge TPU, sistemine bir Edge TPU yardımcı işlemcisi ekleyen ve TensorFlow Lite modelleri için düşük güç tüketimli, yüksek performanslı ML çıkarımı sağlayan kompakt bir cihazdır. Tek başına CPU'nun yetersiz kaldığı gömülü ve mobil dağıtımlar için çok uygundur:
- Daha hızlı çıkarım — Edge TPU, nicemlenmiş modelleri Raspberry Pi CPU'sunun tek başına sağlayabileceğinden çok daha hızlı çalıştırır.
- Düşük güç tüketimi — watt başına yüksek işlem hacmi sunar; pille veya güneş enerjisiyle çalışan dağıtımlar için idealdir.
- Tak ve çalıştır — USB Accelerator, USB 3.0 üzerinden bağlanır; bu nedenle ek donanım entegrasyonu gerekmez.
Resmî Coral kılavuzu güncel değildir: Orijinal Coral çalışma zamanı derlemeleri artık güncel TensorFlow Lite çalışma zamanı sürümleriyle çalışmıyor ve proje 2021 ile 2025 arasında hiç güncellenmedi. Bu kılavuzda, hızlandırıcının güncel bir Raspberry Pi OS kurulumunda çalışması için etkin şekilde bakımı yapılan bir Edge TPU çalışma zamanı ve en yeni tflite-runtime kullanılır.
Ön koşullar#
- Raspberry Pi 4B (2 GB veya üzeri önerilir) ya da Raspberry Pi 5 (Önerilen)
- Masaüstü içeren Raspberry Pi OS Bullseye/Bookworm (64 bit) (Önerilen)
- Coral USB Accelerator
- Modeli dışa aktarmak için ARM olmayan bir platform (Google Colab, x86_64 Linux makinesi veya Ultralytics Docker container); çünkü Edge TPU derleyicisi ARM üzerinde kullanılamaz
Bu kılavuzda, çalışan bir Raspberry Pi OS kurulumuna ve yüklenmiş ultralytics ile bağımlılıklarına zaten sahip olduğun varsayılır. Değilse önce hızlı başlangıç kılavuzunu izle.
Ön koşullar hazır olduğunda iş akışı üç adımdan oluşur: Pi'a Edge TPU çalışma zamanını yükle, ARM olmayan bir makinede modelini dışa aktar ve ardından Pi üzerinde çıkarımı çalıştır.
Edge TPU Çalışma Zamanını Yükleme#
Çalışma zamanı birkaç farklı derleme olarak sunulur; bu nedenle işletim sisteminle eşleşen derlemeyi seç. Yüksek frekanslı derleme, daha iyi performans için Edge TPU'yu daha yüksek saat hızında çalıştırır; ancak termal daraltmaya neden olabilir — bunu seçersen bir tür soğutma kullan.
| Raspberry Pi OS | Yüksek frekans modu | İndirilecek sürüm |
|---|---|---|
| Bullseye 32 bit | Hayır | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64 bit | Hayır | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32 bit | Evet | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64 bit | Evet | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32 bit | Hayır | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64 bit | Hayır | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32 bit | Evet | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64 bit | Evet | libedgetpu1-max_ ... .bookworm_arm64.deb |
En son sürümü buradan indir, ardından .deb paketini yükle:
sudo dpkg -i path/to/package.debÇalışma zamanını yükledikten sonra Coral Edge TPU'nu Raspberry Pi üzerindeki bir USB 3.0 bağlantı noktasına tak; böylece yeni udev kuralı etkinleşebilir.
Önce mevcut çalışma zamanını kaldır
Coral Edge TPU çalışma zamanını zaten yüklediysen yeni bir derleme yüklemeden önce kaldır.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-maxModelini Edge TPU Biçimine Dışa Aktarma#
Edge TPU'yu kullanmak için modelini uyumlu bir biçime dönüştür. Dışa aktarma işlemini ARM olmayan bir platformda — Google Colab, x86_64 Linux makinesi, resmî Ultralytics Docker container veya Ultralytics Platform üzerinde — çalıştır; çünkü Edge TPU derleyicisi ARM üzerinde kullanılamaz. Kullanılabilir bağımsız değişkenler için Dışa aktarma modu sayfasına bak.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/model.pt") # Load an official model or custom model
# Export the model
model.export(format="edgetpu")Dışa aktarılan model <model_name>_saved_model/ klasörüne <model_name>_full_integer_quant_edgetpu.tflite olarak kaydedilir.
Dosya adı _edgetpu.tflite ile bitmelidir. Dosyayı başka bir adla yeniden adlandırırsan Ultralytics dosyayı Edge TPU'yu algılamak yerine düz bir TensorFlow Lite modeli olarak yükler ve hızlandırıcı kullanılmaz.
Edge TPU'da Çıkarım Çalıştırma#
Modeli çalıştırmadan önce Raspberry Pi'a doğru kitaplıkları yükle. TensorFlow zaten yüklüyse önce kaldır:
pip uninstall tensorflow tensorflow-aarch64Ardından tflite-runtime paketini yükle veya güncelle:
pip install -U tflite-runtimeArtık çıkarımı çalıştırabilirsin:
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")Tahmin modunun tüm ayrıntılarını Predict sayfasında bulabilirsin.
Birden çok Edge TPU'n varsa device bağımsız değişkeniyle belirli bir tanesini seçebilirsin.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png") # Inference defaults to the first TPU
model.predict("path/to/source.png", device="tpu:0") # Select the first TPU
model.predict("path/to/source.png", device="tpu:1") # Select the second TPUKarşılaştırmalı Testler#
Aşağıdaki değerler Raspberry Pi OS Bookworm 64 bit ve USB Coral Edge TPU ile ölçülmüştür. Yalnızca çıkarım süresini gösterir (ön işleme ve son işleme hariçtir) ve Edge TPU'nun farklı Pi modelleri ile modlarında sağladığı hızlandırma için göreli bir referans niteliğindedir.
Bu karşılaştırmalar YOLOv8 modelleriyle kaydedilmiştir. Mutlak çıkarım süreleri model sürümüne ve görüntü boyutuna göre değişir; ancak Pi modelleri ve saat hızı modları arasındaki göreli hızlanmalar geçerliliğini korur.
| Görüntü boyutu | Model | Standart çıkarım süresi (ms) | Yüksek frekanslı çıkarım süresi (ms) |
|---|---|---|---|
| 320 | YOLOv8n | 32.2 | 26.7 |
| 320 | YOLOv8s | 47.1 | 39.8 |
| 512 | YOLOv8n | 73.5 | 60.7 |
| 512 | YOLOv8s | 149.6 | 125.3 |
Ortalama olarak:
- Raspberry Pi 5, standart modda Raspberry Pi 4B'den %22 daha hızlıdır.
- Raspberry Pi 5, yüksek frekans modunda Raspberry Pi 4B'den %30,2 daha hızlıdır.
- Yüksek frekans modu, standart moddan %28,4 daha hızlıdır.
Sonuç#
Coral Edge TPU, Raspberry Pi'ı Ultralytics YOLO26 için yetenekli ve düşük güç tüketimli bir çıkarım cihazına dönüştürür. Modelini ARM olmayan bir makinede dışa aktar, _edgetpu.tflite son ekini koru ve hızlandırılmış uç çıkarımı elde etmek için Pi üzerinde tflite-runtime ile çalıştır. Daha fazla dağıtım seçeneği için Raspberry Pi kılavuzuna bak.
SSS#
Coral Edge TPU, sistemine bir Edge TPU yardımcı işlemcisi ekleyen kompakt bir cihazdır. Bu yardımcı işlemci, özellikle TensorFlow Lite modelleri için optimize edilmiş düşük güç tüketimli, yüksek performanslı ML çıkarımı sağlar. Raspberry Pi üzerinde çıkarımı CPU'nun tek başına sağlayabileceğinin çok ötesinde hızlandırır ve bu da Ultralytics YOLO26 modellerinin performansını önemli ölçüde artırır.
Raspberry Pi OS sürümüne uygun
.debpaketini bu bağlantıdan indir, ardından yükle:sudo dpkg -i path/to/package.debÖnceki Coral Edge TPU çalışma zamanı sürümlerini Edge TPU Çalışma Zamanını Yükleme bölümündeki adımları izleyerek kaldırdığından emin ol.
Evet. Dışa aktarma işlemini Google Colab, x86_64 Linux makinesi veya Ultralytics Docker container üzerinde çalıştırabilirsin; ayrıca Ultralytics Platform da kullanabilirsin. Python ve CLI ile dışa aktarma şu şekilde yapılır:
Modeli dışa aktarmafrom ultralytics import YOLO # Load a model model = YOLO("path/to/model.pt") # Load an official model or custom model # Export the model model.export(format="edgetpu")Daha fazla bilgi için Dışa aktarma modu belgelerine bak.
TensorFlow yüklüyse ve
tflite-runtimepaketine geçmen gerekiyorsa önce TensorFlow'u kaldır:pip uninstall tensorflow tensorflow-aarch64Ardından
tflite-runtimepaketini yükle veya güncelle:pip install -U tflite-runtimeAyrıntılı talimatlar için Edge TPU'da Çıkarım Çalıştırma bölümüne bak.
YOLO26 modelini Edge TPU ile uyumlu bir biçime aktardıktan sonra aşağıdaki kod parçacıklarıyla çıkarımı çalıştır. Ultralytics'in modeli Edge TPU üzerinde yüklemesi için model dosyası
_edgetpu.tfliteson ekini korumalıdır:Modeli çalıştırmafrom ultralytics import YOLO # Load a model model = YOLO("path/to/yolo26n_full_integer_quant_edgetpu.tflite") # Load an official model or custom model # Run Prediction model.predict("path/to/source.png")Tahmin modu hakkında kapsamlı ayrıntılar Predict sayfasında yer alır.