Coral Edge TPU en una Raspberry Pi con Ultralytics YOLO26 🚀
¿Qué es una Coral Edge TPU?
La Coral Edge TPU es un dispositivo compacto que añade un coprocesador Edge TPU a tu sistema. Permite realizar inferencias de ML de alto rendimiento y bajo consumo para modelos TensorFlow Lite. Lee más en la página principal de Coral Edge TPU.
Watch: How to Run Inference on Raspberry Pi using Google Coral Edge TPU
Potencia el rendimiento de tu Raspberry Pi con Coral Edge TPU
Muchas personas desean ejecutar sus modelos en dispositivos integrados o móviles como una Raspberry Pi, ya que son muy eficientes energéticamente y pueden utilizarse en muchas aplicaciones diferentes. Sin embargo, el rendimiento de la inferencia en estos dispositivos suele ser pobre, incluso utilizando formatos como ONNX u OpenVINO. La Coral Edge TPU es una gran solución a este problema, ya que puede usarse 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 usar la Edge TPU con una Raspberry Pi está desactualizada, 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 de TensorFlow Lite. Además, Google parece haber abandonado por completo el proyecto Coral y no ha habido actualizaciones entre 2021 y 2025. Esta guía te mostrará cómo hacer que la Edge TPU funcione con las versiones más recientes del tiempo de ejecución de TensorFlow Lite y un tiempo de ejecución actualizado de Coral Edge TPU en un ordenador de placa única (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)
- Coral USB Accelerator
- Una plataforma que no sea ARM para exportar un modelo PyTorch de Ultralytics
Guía de instalación
Esta guía asume que ya tienes instalada una versión de Raspberry Pi OS funcional y que has instalado ultralytics y todas sus dependencias. Para instalar ultralytics, visita la guía de inicio rápido para configurarlo antes de continuar aquí.
Instalación del tiempo de ejecución de Edge TPU
Primero, necesitamos instalar el tiempo de ejecución de Edge TPU. Hay muchas versiones diferentes disponibles, así que debes elegir la correcta para tu sistema operativo. La versión de alta frecuencia ejecuta la Edge TPU a una velocidad de reloj más alta, lo que mejora el rendimiento. Sin embargo, puede provocar un estrangulamiento térmico en la Edge TPU, por lo que se recomienda disponer de algún tipo de mecanismo de refrigeración.
| Raspberry Pi OS | Modo de alta frecuencia | Versión para descargar |
|---|---|---|
| Bullseye 32 bits | No | libedgetpu1-std_ ... .bullseye_armhf.deb |
| Bullseye 64 bits | No | libedgetpu1-std_ ... .bullseye_arm64.deb |
| Bullseye 32 bits | Sí | libedgetpu1-max_ ... .bullseye_armhf.deb |
| Bullseye 64 bits | Sí | libedgetpu1-max_ ... .bullseye_arm64.deb |
| Bookworm 32 bits | No | libedgetpu1-std_ ... .bookworm_armhf.deb |
| Bookworm 64 bits | No | libedgetpu1-std_ ... .bookworm_arm64.deb |
| Bookworm 32 bits | Sí | libedgetpu1-max_ ... .bookworm_armhf.deb |
| Bookworm 64 bits | Sí | libedgetpu1-max_ ... .bookworm_arm64.deb |
Descarga la última versión desde aquí.
Tras descargar el archivo, puedes instalarlo con el siguiente comando:
sudo dpkg -i path/to/package.debDespués de instalar el tiempo de ejecución, conecta tu Coral Edge TPU a un puerto USB 3.0 de la Raspberry Pi para que la nueva regla udev pueda entrar en vigor.
Importante
Si ya tienes instalado el tiempo de ejecución de Coral Edge TPU, desinstálalo usando el siguiente comando.
# If you installed the standard version
sudo apt remove libedgetpu1-std
# If you installed the high-frequency version
sudo apt remove libedgetpu1-maxExportar a Edge TPU
Para utilizar la Edge TPU, necesitas convertir tu modelo a un formato compatible. Se recomienda ejecutar la exportación en Google Colab, en una máquina Linux x86_64, utilizando el contenedor de Docker oficial de Ultralytics, o mediante la Plataforma Ultralytics, ya que el compilador de Edge TPU no está disponible para ARM. Consulta el Modo de Exportación para ver los argumentos disponibles.
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")El modelo exportado se guardará en la carpeta <model_name>_saved_model/ con el nombre <model_name>_full_integer_quant_edgetpu.tflite. Asegúrate de que el nombre del archivo termine con el sufijo _edgetpu.tflite; de lo contrario, Ultralytics no detectará que estás utilizando un modelo de Edge TPU.
Ejecutar el modelo
Antes de poder ejecutar el modelo, necesitarás instalar las bibliotecas correctas.
Si ya tienes instalado TensorFlow, desinstálalo con el siguiente comando:
pip uninstall tensorflow tensorflow-aarch64Luego instala o actualiza tflite-runtime:
pip install -U tflite-runtimeAhora puedes ejecutar la inferencia usando el siguiente código:
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")Encuentra información detallada en la página de Predicción para conocer todos los detalles del modo de predicción.
Si tienes varias Edge TPUs, puedes usar el siguiente código para seleccionar una TPU específica.
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 TPUBenchmarks
Probado con Raspberry Pi OS Bookworm de 64 bits y una Coral Edge TPU USB.
Se muestra el tiempo de inferencia; el preprocesamiento y posprocesamiento no están incluidos.
| Tamaño de imagen | Modelo | Tiempo de inferencia estándar (ms) | Tiempo de inferencia de alta frecuencia (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 |
En promedio:
- La Raspberry Pi 5 es un 22% más rápida con el modo estándar que la Raspberry Pi 4B.
- La Raspberry Pi 5 es un 30.2% más rápida con el modo de alta frecuencia que la Raspberry Pi 4B.
- El modo de alta frecuencia es un 28.4% más rápido que el modo estándar.
Preguntas frecuentes
¿Qué es una Coral Edge TPU y cómo mejora el rendimiento de la Raspberry Pi con Ultralytics YOLO26?
La Coral Edge TPU es un dispositivo compacto diseñado para añadir un coprocesador Edge TPU a tu sistema. Este coprocesador permite realizar inferencias de aprendizaje automático de alto rendimiento y bajo consumo, optimizado especialmente para modelos TensorFlow Lite. Al usar una Raspberry Pi, la Edge TPU acelera la inferencia del modelo de ML, aumentando significativamente el rendimiento, especialmente para los modelos de Ultralytics YOLO26. Puedes leer más sobre la Coral Edge TPU en su página principal.
¿Cómo instalo el tiempo de ejecución de Coral Edge TPU en una Raspberry Pi?
Para instalar el tiempo de ejecución de Coral Edge TPU en tu Raspberry Pi, descarga el paquete .deb adecuado para tu versión de Raspberry Pi OS desde este enlace. Una vez descargado, usa el siguiente comando para instalarlo:
sudo dpkg -i path/to/package.debAsegú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.
¿Puedo exportar mi modelo de Ultralytics YOLO26 para que sea compatible con Coral Edge TPU?
Sí, puedes exportar tu modelo de Ultralytics YOLO26 para que sea compatible con la Coral Edge TPU. Se recomienda realizar la exportación en Google Colab, en una máquina Linux x86_64, o utilizando el contenedor de Docker de Ultralytics. También puedes usar la Plataforma Ultralytics para realizar la exportación. Aquí te explicamos cómo puedes exportar tu modelo usando Python y la CLI:
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")Para más información, consulta la documentación del Modo de Exportación.
¿Qué debo hacer si TensorFlow ya está instalado en mi Raspberry Pi, pero quiero usar tflite-runtime?
Si tienes TensorFlow instalado en tu Raspberry Pi y necesitas cambiar a tflite-runtime, primero deberás desinstalar TensorFlow usando:
pip uninstall tensorflow tensorflow-aarch64Luego, instala o actualiza tflite-runtime con el siguiente comando:
pip install -U tflite-runtimePara obtener instrucciones detalladas, consulta la sección Ejecutar el modelo.
¿Cómo ejecuto la inferencia con un modelo YOLO26 exportado en una Raspberry Pi usando la Coral Edge TPU?
Después de exportar tu modelo YOLO26 a un formato compatible con Edge TPU, puedes ejecutar la inferencia usando los siguientes fragmentos de código:
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")En la Página de Predicción puedes encontrar información completa sobre las características del modo de predicción.