🛠 Inférence de réseau de neurones sur le C7x+MMA avec edgeai-tidl-tools
Objetivos
Salir de la emulación de CPU: instalar la pila TI edgeai-tidl-tools (el J721E/TDA4VM es un dispositivo oficialmente compatible), obtener modelos pre-cuantizados del Edge AI Model Zoo y ejecutar una clasificación/detección en el acelerador C7x+MMA (~8 TOPS INT8) con el runtime TIDL. Este es el tutorial que justifica la compra de esta tarjeta.
Material
- 1 BeagleBone AI-64 con una imagen reciente de Debian BeagleBoard o una imagen TI Edge AI
- Almacenamiento generoso: microSD de 64 GB o más, o NVMe vía M.2 — la pila y los modelos ocupan varios GB, los 16 GB de eMMC no son suficientes
- Red para descargar modelos y dependencias
Código completo
sudo apt update && sudo apt install -y python3-pip git python3-venv
git clone --depth 1 https://github.com/TexasInstruments/edgeai-tidl-tools
cd edgeai-tidl-tools
# Suivre le README pour le setup aarch64 ON-DEVICE (script osd/setup.sh) ;
# les versions exactes d'API bougent, rester sur un tag stable (ex. 10_01_00_02).
export OS_ARCH=aarch64
cd examples/osd && sudo ./setup.sh && cd ../..
sudo ./get_models.sh # modèles pré-quantisés du Model Zoo
# Exemple de classification sur le C7x-MMA (cible SoC, pas CPU)
sudo ./tidl_classification \
-t 1 -m mobilenet-v2-12 \
-l ../../dl_test_lists/labels.txt \
-i ../../test_images/ -b ../../model_zoo/
# Vérifier que l'accélérateur travaille (pas les A72)
htop # les 2 Cortex-A72 doivent rester majoritairement inactifs
Verificación esperada
El benchmark muestra un rendimiento (FPS o inferencias/s) muy superior al que obtendría la CPU, y el registro del runtime indica la ejecución en el SoC objetivo con descarga (offload) en C7x/MMA. Las clases y las puntuaciones de la imagen de prueba se muestran correctamente.
Errores frecuentes
- Creer que se acelera el proceso cuando todo se ejecuta en los A72: verificar el modo de ejecución en el registro y la ocupación de la CPU (htop) — un modelo no compatible vuelve silenciosamente a la CPU.
- Quedarse sin espacio en la eMMC: la instalación falla al 99 % sin un mensaje claro; migrar la raíz o trabajar desde la microSD (ver el tutorial de almacenamiento).
- Mezclar versiones: la API de TIDL cambia entre etiquetas (tags); fijar una etiqueta (por ejemplo, 10_01_00_02) y su Model Zoo asociado.
- Usar una imagen mainline pura: las bibliotecas C7x-MMA provienen de la pila downstream de TI; sin ella, nada se acelera.
- Repositorio git.beagleboard.org detrás de la protección anti-bot Anubis: algunos scripts de fetch de Yocto fallan (issue #45) — utilizar los espejos de GitHub.
Otros tutoriales para esta placa
- Flasher l'image officielle et démarrer la BeagleBone AI-64
- Faire clignoter une LED sur la broche P8_03 avec libgpiod
- Surveiller la température et l'alimentation du TDA4VM
- Réseau : Ethernet Gigabit unique et module Wi-Fi en M.2 E-key
- Caméra MIPI CSI et encodage H.264 matériel via GStreamer
- Remoteproc : inventorier et démarrer les co-processeurs R5F et C66x
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash