Ultralytics YOLO11 ile Raspberry Pi üzerinde Coral Edge TPU 🚀
Coral Edge TPU nedir?
Coral Edge TPU, sisteminize bir Edge TPU yardımcı işlemcisi ekleyen kompakt bir cihazdır. TensorFlow Lite modelleri için düşük güç tüketimli, yüksek performanslı ML çıkarımı sağlar. Coral Edge TPU ana sayfasında daha fazla bilgi edinin.
İzle: Google Coral Edge TPU Kullanarak Raspberry Pi'de Çıkarım Nasıl Çalıştırılır
Coral Edge TPU ile Raspberry Pi Model Performansını Artırma
Birçok kişi, Raspberry Pi gibi gömülü veya mobil bir cihazda modellerini çalıştırmak istiyor, çünkü bunlar çok güç tasarrufludur ve birçok farklı uygulamada kullanılabilir. Ancak, bu cihazlardaki çıkarım performansı genellikle ONNX veya OpenVINO gibi formatlar kullanıldığında bile düşüktür. Coral Edge TPU, Raspberry Pi ile kullanılabildiği ve çıkarım performansını büyük ölçüde hızlandırabildiği için bu sorun için harika bir çözümdür.
TensorFlow Lite ile Raspberry Pi üzerinde Edge TPU (Yeni)⭐
Coral'ın Edge TPU'yu Raspberry Pi ile nasıl kullanacağına dair mevcut kılavuzu güncel değildir ve mevcut Coral Edge TPU çalışma zamanı yapıları artık mevcut TensorFlow Lite çalışma zamanı sürümleriyle çalışmamaktadır. Buna ek olarak, Google, Coral projesini tamamen terk etmiş gibi görünüyor ve 2021 ile 2025 arasında herhangi bir güncelleme yapılmadı. Bu kılavuz, Edge TPU'yu TensorFlow Lite çalışma zamanının en son sürümleri ve Raspberry Pi tek kartlı bilgisayarda (SBC) güncellenmiş bir Coral Edge TPU çalışma zamanı ile nasıl çalıştıracağınızı gösterecektir.
Ön koşullar
- Raspberry Pi 4B (2GB veya daha fazla önerilir) veya Raspberry Pi 5 (Önerilir)
- Masaüstü ile Raspberry Pi OS Bullseye/Bookworm (64-bit) (Önerilir)
- Coral USB Hızlandırıcı
- Bir Ultralytics PyTorch modelini dışa aktarmak için ARM tabanlı olmayan bir platform
Kurulum İzlenecek Yolu
Bu kılavuz, halihazırda çalışan bir Raspberry Pi OS kurulumuna sahip olduğunuzu ve şunu kurduğunuzu varsayar: ultralytics
ve tüm bağımlılıkları. Almak için ultralytics
kurulduysa, şu adresi ziyaret edin: hızlı başlangıç kılavuzu buraya devam etmeden önce kurulumu yapmak için.
Edge TPU çalışma zamanını kurma
İlk olarak, Edge TPU çalışma zamanını kurmamız gerekiyor. Birçok farklı sürüm mevcut, bu nedenle işletim sisteminiz için doğru sürümü seçmeniz gerekiyor. Yüksek frekanslı sürüm, Edge TPU'yu daha yüksek bir saat hızında çalıştırır, bu da performansı artırır. Ancak, Edge TPU'nun termal kısılmasına neden olabilir, bu nedenle bir tür soğutma mekanizmasına sahip olmanız önerilir.
Raspberry Pi OS | Yüksek frekans modu | İndirilecek sürüm |
---|---|---|
Bullseye 32bit | Hayır | libedgetpu1-std_ ... .bullseye_armhf.deb |
Bullseye 64bit | Hayır | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32bit | Evet | libedgetpu1-max_ ... .bullseye_armhf.deb |
Bullseye 64bit | Evet | libedgetpu1-max_ ... .bullseye_arm64.deb |
Bookworm 32bit | Hayır | libedgetpu1-std_ ... .bookworm_armhf.deb |
Bookworm 64bit | Hayır | libedgetpu1-std_ ... .bookworm_arm64.deb |
Bookworm 32bit | Evet | libedgetpu1-max_ ... .bookworm_armhf.deb |
Bookworm 64bit | Evet | libedgetpu1-max_ ... .bookworm_arm64.deb |
En son sürümü buradan indirin.
Dosyayı indirdikten sonra, aşağıdaki komutla kurabilirsiniz:
sudo dpkg -i path/to/package.deb
Çalışma zamanını kurduktan sonra, Coral Edge TPU'nuzu Raspberry Pi'nizdeki bir USB 3.0 bağlantı noktasına takmanız gerekir. Bunun nedeni, resmi kılavuza göre yeni udev
kuralın kurulumdan sonra yürürlüğe girmesi gerekiyor.
Önemli
Coral Edge TPU çalışma zamanı zaten kuruluysa, aşağıdaki komutu kullanarak kaldırın.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high frequency version
sudo apt remove libedgetpu1-max
Edge TPU'ya Aktar
Edge TPU'yu kullanmak için modelinizi uyumlu bir formata dönüştürmeniz gerekir. Edge TPU derleyicisi ARM'de mevcut olmadığından, dışa aktarma işlemini Google Colab, x86_64 Linux makinesinde, resmi Ultralytics Docker container kullanılarak veya Ultralytics HUB kullanılarak çalıştırmanız önerilir. Mevcut argümanlar için Dışa Aktarma Modu'na bakın.
Modeli dışa aktarma
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")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
Dışa aktarılan model şuraya kaydedilecektir: <model_name>_saved_model/
adlı klasör <model_name>_full_integer_quant_edgetpu.tflite
. Modelinizin şu sonekle bitmesi önemlidir: _edgetpu.tflite
, aksi takdirde ultralytics bir Edge TPU modeli kullandığınızı bilmez.
Modeli çalıştırma
Modeli gerçekten çalıştırmadan önce, doğru kitaplıkları yüklemeniz gerekecektir.
Eğer tensorflow
yüklüyse, aşağıdaki komutla TensorFlow'u kaldırın:
pip uninstall tensorflow tensorflow-aarch64
Ardından, yükleyin/güncelleyin tflite-runtime
:
pip install -U tflite-runtime
Şimdi aşağıdaki kodu kullanarak çıkarım çalıştırabilirsiniz:
Modeli çalıştırma
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_full_integer_quant_edgetpu.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/MODEL_NAME_full_integer_quant_edgetpu.tflite source=path/to/source.png # Load an official model or custom model
Tam tahmin modu ayrıntıları için Tahmin sayfasında kapsamlı bilgi bulabilirsiniz.
Çoklu Edge TPU'lar ile Çıkarım
Birden fazla Edge TPU'nuz varsa, belirli bir TPU'yu seçmek için aşağıdaki kodu kullanabilirsiniz.
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/<model_name>_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 TPU
Kıyaslamalar
Kıyaslamalar
Raspberry Pi Os Bookworm 64-Bit ve bir USB Coral Edge TPU ile test edilmiştir.
Not
Gösterilen çıkarım süresidir, ön-/son işleme dahil değildir.
Resim 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 |
Resim Boyutu | Model | Standart Çıkarım Süresi (ms) | Yüksek Frekanslı Çıkarım Süresi (ms) |
---|---|---|---|
320 | YOLOv8n | 22.2 | 16.7 |
320 | YOLOv8s | 40.1 | 32.2 |
512 | YOLOv8n | 53.5 | 41.6 |
512 | YOLOv8s | 132.0 | 103.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.
SSS
Coral Edge TPU nedir ve Ultralytics YOLO11 ile Raspberry Pi'nin performansını nasıl artırır?
Coral Edge TPU, sisteminize bir Edge TPU yardımcı işlemcisi eklemek için tasarlanmış 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ı makine öğrenimi çıkarımı sağlar. Bir Raspberry Pi kullanırken, Edge TPU, ML model çıkarımını hızlandırır ve özellikle Ultralytics YOLO11 modelleri için performansı önemli ölçüde artırır. Coral Edge TPU hakkında ana sayfalarından daha fazla bilgi edinebilirsiniz.
Coral Edge TPU çalışma zamanını bir Raspberry Pi'ye nasıl kurarım?
Raspberry Pi'nize Coral Edge TPU çalışma zamanını kurmak için uygun olanı indirin .deb
Raspberry Pi OS sürümünüz için paketi şuradan: bu bağlantı. İndirildikten sonra, kurmak için aşağıdaki komutu kullanın:
sudo dpkg -i path/to/package.deb
Kurulum Kılavuzu bölümünde belirtilen adımları izleyerek önceki Coral Edge TPU çalışma zamanı sürümlerini kaldırdığınızdan emin olun.
Ultralytics YOLO11 modelimi Coral Edge TPU ile uyumlu olacak şekilde dışa aktarabilir miyim?
Evet, Ultralytics YOLO11 modelinizi Coral Edge TPU ile uyumlu olacak şekilde dışa aktarabilirsiniz. Dışa aktarmanın Google Colab, bir x86_64 Linux makinesi veya Ultralytics Docker konteyneri kullanılarak yapılması önerilir. Dışa aktarma için Ultralytics HUB'ı da kullanabilirsiniz. Modelinizi python ve CLI kullanarak nasıl dışa aktarabileceğiniz aşağıda açıklanmıştır:
Modeli dışa aktarma
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")
yolo export model=path/to/model.pt format=edgetpu # Export an official model or custom model
Daha fazla bilgi için Dışa Aktarma Modu belgelerine bakın.
Raspberry Pi'imde TensorFlow zaten yüklüyse ancak bunun yerine tflite-runtime kullanmak istersem ne yapmalıyım?
Raspberry Pi'nizde TensorFlow yüklüyse ve şuna geçmeniz gerekiyorsa: tflite-runtime
, öncelikle TensorFlow'u şu komutu kullanarak kaldırmanız gerekir:
pip uninstall tensorflow tensorflow-aarch64
Ardından, yükleyin veya güncelleyin tflite-runtime
aşağıdaki komutla:
pip install -U tflite-runtime
Ayrıntılı talimatlar için Modeli Çalıştırma bölümüne bakın.
Coral Edge TPU kullanarak Raspberry Pi üzerinde dışa aktarılmış bir YOLO11 modeli ile çıkarımı nasıl çalıştırırım?
YOLO11 modelinizi bir Edge TPU uyumlu biçime aktardıktan sonra, aşağıdaki kod parçacıklarını kullanarak çıkarım çalıştırabilirsiniz:
Modeli çalıştırma
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/edgetpu_model.tflite") # Load an official model or custom model
# Run Prediction
model.predict("path/to/source.png")
yolo predict model=path/to/edgetpu_model.tflite source=path/to/source.png # Load an official model or custom model
Tam tahmin modu özellikleriyle ilgili kapsamlı ayrıntılar Tahmin Sayfası'nda bulunabilir.