İçeriğe geç

Ultralytics YOLO11 ile Raspberry Pi üzerinde Coral Edge TPU 🚀

USB Edge TPU hızlandırıcıya sahip Raspberry Pi tek kartlı bilgisayar

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

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.



📅 1 yıl önce oluşturuldu ✏️ 3 ay önce güncellendi

Yorumlar