İçeriğe geç

Coral Edge TPU ile Raspberry Pi üzerinde Ultralytics YOLOv8 🚀

USB Edge TPU hızlandırıcılı 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üçlü, yüksek performanslı ML çıkarımı sağlar. Coral Edge TPU ana sayfasından daha fazla bilgi edinin.

Coral Edge ile Raspberry Pi Model Performansını Artırın TPU

Birçok kişi modellerini Raspberry Pi gibi gömülü veya mobil bir cihazda çalıştırmak ister, çünkü bu cihazlar güç açısından çok verimlidir ve birçok farklı uygulamada kullanılabilir. Ancak, bu cihazlardaki çıkarım performansı, aşağıdaki gibi formatlar kullanıldığında bile genellikle düşüktür onnx veya openvino. Coral Edge TPU , Raspberry Pi ile kullanılabildiği ve çıkarım performansını büyük ölçüde hızlandırdığı için bu soruna harika bir çözümdür.

TensorFlow Lite ile Raspberry Pi üzerinde Edge TPU (Yeni)⭐

Coral'ın Edge TPU 'un Raspberry Pi ile nasıl kullanılacağına dair mevcut kılavuzu güncel değil ve mevcut Coral Edge TPU çalışma zamanı yapıları artık mevcut TensorFlow Lite çalışma zamanı sürümleriyle çalışmıyor. Buna ek olarak, Google Coral projesini tamamen terk etmiş gibi görünüyor ve 2021 ile 2024 arasında herhangi bir güncelleme yapılmadı. Bu kılavuz size Edge TPU 'u TensorFlow Lite çalışma zamanının en son sürümleriyle ve Raspberry Pi tek kartlı bilgisayarda (SBC) güncellenmiş bir Coral Edge TPU çalışma zamanıyla nasıl çalıştıracağınızı gösterecektir.

Ön Koşullar

Kurulum İzlenecek Yol

Bu kılavuz, halihazırda çalışan bir Raspberry Pi OS kurulumuna sahip olduğunuzu ve ultralytics ve tüm bağımlılıklar. Almak için ultralytics yüklü ise, şu adresi ziyaret edin hızlı başlangıç kılavuzu buraya devam etmeden önce kurulum için.

Edge TPU çalışma zamanının yüklenmesi

İlk olarak, Edge TPU çalışma zamanını yüklememiz gerekiyor. Birçok farklı sürüm mevcuttur, bu nedenle işletim sisteminiz için doğru sürümü seçmeniz gerekir.

Raspberry Pi İşletim Sistemi 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
Kitap Kurdu 32bit Hayır libedgetpu1-std_ ... .bookworm_armhf.deb
Kitap Kurdu 64bit Hayır libedgetpu1-std_ ... .bookworm_arm64.deb
Kitap Kurdu 32bit Evet libedgetpu1-max_ ... .bookworm_armhf.deb
Kitap Kurdu 64bit Evet libedgetpu1-max_ ... .bookworm_arm64.deb

En son sürümü buradan indirin.

Dosyayı indirdikten sonra aşağıdaki komut ile kurulum yapabilirsiniz:

sudo dpkg -i path/to/package.deb

Çalışma zamanını kurduktan sonra Coral Edge TPU cihazınızı Raspberry Pi'nizdeki bir USB 3.0 portuna takmanız gerekir. Bunun nedeni, resmi kılavuza göre, yeni bir udev kuralının kurulumdan sonra yürürlüğe girmesi gerekir.

Önemli

Coral Edge TPU çalışma zamanı zaten yüklüyse, 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

Modelinizi Edge TPU uyumlu bir modele aktarın

Edge'i kullanmak için TPU, modelinizi uyumlu bir biçime dönüştürmeniz gerekir. Edge TPU derleyicisi ARM'de mevcut olmadığından, Google Colab, x86_64 Linux makinesinde, resmi Ultralytics Docker konteynerini kullanarak veya Ultralytics HUB kullanarak dışa aktarmayı çalıştırmanız önerilir. Kullanılabilir argümanlar için Dışa Aktarma Modu 'na bakın.

İhracat

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 şu adrese kaydedilecektir <model_name>_saved_model/ adında bir klasör <model_name>_full_integer_quant_edgetpu.tflite.

Modelin çalıştırılması

Modelinizi dışa aktardıktan sonra, aşağıdaki kodu kullanarak modelinizle çıkarım yapabilirsiniz:

Koşmak

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

Tüm tahmin modu ayrıntıları için Tahmin sayfasında kapsamlı bilgi bulabilirsiniz.

Önemli

Modeli aşağıdakileri kullanarak çalıştırmalısınız tflite-runtime ve değil tensorflow. Eğer tensorflow yüklüyse, tensorflow adresini aşağıdaki komutla kaldırın:

pip uninstall tensorflow tensorflow-aarch64

Sonra yükleyin/güncelleyin tflite-runtime:

pip install -U tflite-runtime

Eğer bir tflite-runtime için tekerlek tensorflow 2.15.0 adresinden indirin Burada ve kullanarak yükleyin pip veya tercih ettiğiniz paket yöneticisini kullanabilirsiniz.

SSS

Coral Edge TPU nedir ve Raspberry Pi'nin performansını Ultralytics YOLOv8 ile 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üçlü, yüksek performanslı makine öğrenimi çıkarımı sağlar. Raspberry Pi kullanırken Edge TPU ML model çıkarımını hızlandırarak özellikle Ultralytics YOLOv8 modelleri için performansı önemli ölçüde artırır. Coral Edge TPU hakkında daha fazla bilgiyi ana sayfalarından okuyabilirsiniz.

Coral Edge TPU çalışma zamanını Raspberry Pi'ye nasıl kurabilirim?

Coral Edge TPU çalışma zamanını Raspberry Pi'nize yüklemek için uygun .deb 'den Raspberry Pi OS sürümünüz için paket bu bağlantı. İndirdikten sonra, yüklemek için aşağıdaki komutu kullanın:

sudo dpkg -i path/to/package.deb

Kurulum İzlen ecek Yol bölümünde özetlenen adımları izleyerek önceki Coral Edge TPU çalışma zamanı sürümlerini kaldırdığınızdan emin olun.

Ultralytics YOLOv8 modelimi Coral Edge TPU ile uyumlu olacak şekilde dışa aktarabilir miyim?

Evet, Ultralytics YOLOv8 modelinizi Coral Edge TPU ile uyumlu olacak şekilde dışa aktarabilirsiniz. Dışa aktarma işlemini Google Colab üzerinde, bir x86_64 Linux makinesinde veya Ultralytics Docker konteynerini kullanarak gerçekleştirmeniz önerilir. Dışa aktarma için Ultralytics HUB adresini de kullanabilirsiniz. Modelinizi Python ve CLI adreslerini kullanarak nasıl dışa aktarabileceğiniz aşağıda açıklanmıştır:

İhracat

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'mde TensorFlow zaten yüklüyse ancak bunun yerine tflite-runtime kullanmak istiyorsam ne yapmalıyım?

Raspberry Pi'nizde TensorFlow yüklüyse ve şu adrese geçmeniz gerekiyorsa tflite-runtimekullanarak önce TensorFlow adresini kaldırmanız gerekir:

pip uninstall tensorflow tensorflow-aarch64

Ardından, yükleyin veya güncelleyin tflite-runtime aşağıdaki komut ile:

pip install -U tflite-runtime

Belirli bir tekerlek için, örneğin TensorFlow 2.15.0 tflite-runtimeadresinden indirebilirsiniz. bu bağlantı ve kullanarak yükleyin pip. Ayrıntılı talimatlar modelin çalıştırılması bölümünde mevcuttur Modeli Çalıştırma.

Coral Edge TPU kullanarak Raspberry Pi üzerinde dışa aktarılmış bir YOLOv8 modeli ile çıkarımı nasıl çalıştırabilirim?

YOLOv8 modelinizi Edge TPU uyumlu bir biçime aktardıktan sonra, aşağıdaki kod parçacıklarını kullanarak çıkarımı çalıştırabilirsiniz:

Koşmak

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

Tahmin modu özelliklerinin tamamına ilişkin kapsamlı ayrıntılar Tahmin Sayfasında bulunabilir.



Oluşturma 2024-02-12, Güncelleme 2024-07-05
Yazarlar: glenn-jocher (7), Skillnoob (1)

Yorumlar