Coral Edge TPU on a Raspberry Pi with Ultralytics YOLO11 🚀
¿Qué es un borde de coral TPU?
The Coral Edge TPU is a compact device that adds an Edge TPU coprocessor to your system. It enables low-power, high-performance ML inference for TensorFlow Lite models. Read more at the Coral Edge TPU home page.
Observa: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Aumenta el rendimiento del modelo Raspberry Pi con Coral Edge TPU
Mucha gente quiere ejecutar sus modelos en un dispositivo embebido o móvil, como una Raspberry Pi, ya que consumen muy poca energía y pueden utilizarse en muchas aplicaciones diferentes. Sin embargo, el rendimiento de la inferencia en estos dispositivos suele ser pobre, incluso cuando se utilizan formatos como onnx o openvino. El Coral Edge TPU es una gran solución a este problema, ya que puede utilizarse con una Raspberry Pi y acelerar enormemente el rendimiento de la inferencia.
Edge TPU en Raspberry Pi con TensorFlow Lite (Nuevo)⭐
La guía existente de Coral sobre cómo utilizar Edge TPU con una Raspberry Pi está obsoleta, y las compilaciones actuales del tiempo de ejecución de Coral Edge TPU ya no funcionan con las versiones actuales del tiempo de ejecución TensorFlow Lite. Además, Google parece haber abandonado completamente el proyecto Coral, y no ha habido ninguna actualización entre 2021 y 2024. Esta guía te mostrará cómo conseguir que Edge TPU funcione con las últimas versiones del tiempo de ejecución TensorFlow Lite y un tiempo de ejecución actualizado de Coral Edge TPU en un ordenador monoplaca (SBC) Raspberry Pi.
Requisitos previos
- Raspberry Pi 4B (se recomiendan 2 GB o más) o Raspberry Pi 5 (recomendada)
- Raspberry Pi OS Bullseye/Bookworm (64 bits) con escritorio (Recomendado)
- Acelerador USB Coral
- A non-ARM based platform for exporting an Ultralytics PyTorch model
Guía de instalación
Esta guía asume que ya tienes una instalación operativa del SO Raspberry Pi y que has instalado ultralytics
y todas las dependencias. Para obtener ultralytics
instalado, visita la página guía de inicio rápido para configurarlo antes de continuar aquí.
Instalación del tiempo de ejecución Edge TPU
En primer lugar, tenemos que instalar el tiempo de ejecución de Edge TPU . Existen muchas versiones diferentes, por lo que debes elegir la versión adecuada para tu sistema operativo.
SO Raspberry Pi | Modo de alta frecuencia | Versión para descargar |
---|---|---|
Bullseye 32 bits | No | libedgetpu1-std_ ... .bullseye_armhf.deb |
Ojo de buey 64bit | No | libedgetpu1-std_ ... .bullseye_arm64.deb |
Bullseye 32 bits | Sí | libedgetpu1-max_ ... .bullseye_armhf.deb |
Ojo de buey 64bit | Sí | libedgetpu1-max_ ... .bullseye_arm64.deb |
Ratón de biblioteca 32bit | No | libedgetpu1-std_ ... .bookworm_armhf.deb |
Ratón de biblioteca 64bit | No | libedgetpu1-std_ ... .bookworm_arm64.deb |
Ratón de biblioteca 32bit | Sí | libedgetpu1-max_ ... .bookworm_armhf.deb |
Ratón de biblioteca 64bit | Sí | libedgetpu1-max_ ... .bookworm_arm64.deb |
Descarga la última versión desde aquí.
Después de descargar el archivo, puedes instalarlo con el siguiente comando:
Después de instalar el tiempo de ejecución, tienes que conectar tu Coral Edge TPU a un puerto USB 3.0 de tu Raspberry Pi. Esto se debe a que, según la guía oficial, un nuevo udev
tiene que entrar en vigor después de la instalación.
Importante
Si ya tienes instalado el tiempo de ejecución Coral Edge TPU , desinstálalo utilizando el siguiente comando.
Exporta tu modelo a un modelo compatible con Edge TPU
Para utilizar el Edge TPU, necesitas convertir tu modelo a un formato compatible. Se recomienda que ejecutes la exportación en Google Colab, en una máquina Linux x86_64, utilizando el contenedor Docker oficial Ultralytics , o utilizando Ultralytics HUB, ya que el compilador Edge TPU no está disponible en ARM. Consulta el Modo de Exportación para conocer los argumentos disponibles.
Exporting the model
El modelo exportado se guardará en la carpeta <model_name>_saved_model/
con el nombre <model_name>_full_integer_quant_edgetpu.tflite
.
Ejecutar el modelo
Después de exportar tu modelo, puedes ejecutar la inferencia con él utilizando el código siguiente:
Ejecutar el modelo
Encuentra información completa en la página Predecir para conocer todos los detalles del modo de predicción.
Importante
Debes ejecutar el modelo utilizando tflite-runtime
y no tensorflow
.
Si tensorflow
está instalado, desinstala tensorflow con el siguiente comando:
A continuación, instala/actualiza tflite-runtime
:
Si quieres un tflite-runtime
rueda para tensorflow
2.15.0 descárgalo de aquí e instálalo utilizando pip
o el gestor de paquetes que prefieras.
PREGUNTAS FRECUENTES
What is a Coral Edge TPU and how does it enhance Raspberry Pi's performance with Ultralytics YOLO11?
The Coral Edge TPU is a compact device designed to add an Edge TPU coprocessor to your system. This coprocessor enables low-power, high-performance machine learning inference, particularly optimized for TensorFlow Lite models. When using a Raspberry Pi, the Edge TPU accelerates ML model inference, significantly boosting performance, especially for Ultralytics YOLO11 models. You can read more about the Coral Edge TPU on their home page.
¿Cómo instalo el tiempo de ejecución Coral Edge TPU en una Raspberry Pi?
Para instalar el tiempo de ejecución Coral Edge TPU en tu Raspberry Pi, descarga el programa adecuado .deb
para tu versión del sistema operativo Raspberry Pi desde este enlace. Una vez descargado, utiliza el siguiente comando para instalarlo:
Asegúrate de desinstalar cualquier versión anterior del tiempo de ejecución de Coral Edge TPU siguiendo los pasos descritos en la sección Guía de instalación.
Can I export my Ultralytics YOLO11 model to be compatible with Coral Edge TPU?
Yes, you can export your Ultralytics YOLO11 model to be compatible with the Coral Edge TPU. It is recommended to perform the export on Google Colab, an x86_64 Linux machine, or using the Ultralytics Docker container. You can also use Ultralytics HUB for exporting. Here is how you can export your model using Python and CLI:
Exporting the model
Para más información, consulta la documentación del Modo Exportación.
¿Qué debo hacer si TensorFlow ya está instalado en mi Raspberry Pi pero quiero utilizar tflite-runtime en su lugar?
Si tienes TensorFlow instalado en tu Raspberry Pi y necesitas cambiar a tflite-runtime
, tendrás que desinstalar primero TensorFlow utilizando:
A continuación, instala o actualiza tflite-runtime
con el siguiente comando:
Para una rueda concreta, como TensorFlow 2.15.0 tflite-runtime
puedes descargarlo de este enlace e instálalo utilizando pip
. Encontrarás instrucciones detalladas en la sección sobre la ejecución del modelo Ejecutar el modelo.
How do I run inference with an exported YOLO11 model on a Raspberry Pi using the Coral Edge TPU?
After exporting your YOLO11 model to an Edge TPU-compatible format, you can run inference using the following code snippets:
Ejecutar el modelo
Puedes encontrar información detallada sobre todas las funciones del modo de predicción en la Página de Predicción.