Aplicación de CLIP en Raspberry Pi con el Kit AI
Introducción
CLIP (Contrastive Language-Image Pre-Training) es una red neuronal entrenada en una variedad de pares (imagen, texto). Puede ser instruida en lenguaje natural para predecir el fragmento de texto más relevante, dado una imagen, sin optimizar directamente para la tarea, de manera similar a las capacidades de cero disparos de GPT-2 y 3. Hemos encontrado que CLIP iguala el rendimiento del ResNet50 original en ImageNet “cero disparos” sin usar ninguno de los 1.28 millones de ejemplos etiquetados originales, superando varios desafíos importantes en visión por computadora.
Este wiki te enseñará cómo desplegar la aplicación CLIP en un Raspberry Pi5 o Recomputer r1000, CLIP realizará la inferencia en el kit AI.
Preparar el hardware
Para Recomputer R1000
reComputer r1000 | Raspberry Pi AI Kit |
---|---|
![]() | ![]() |
Para Raspberry Pi 5
reComputer AI R2130 |
---|
![]() |
Instalar el software Hailo y verificar la instalación
Actualizar el sistema:
sudo apt update
sudo apt full-upgrade
A veces, puedes encontrar los siguientes problemas durante las actualizaciones.
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 http://archive.raspberrypi.com/debian bookworm InRelease [39.0 kB]
Reading package lists... Done
E: Release file for http://deb.debian.org/debian/dists/bookworm/InRelease is not valid yet (invalid for another 58d 8h 26min 35s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian-security/dists/bookworm-security/InRelease is not valid yet (invalid for another 84d 18h 23min 59s). Updates for this repository will not be applied.
E: Release file for http://archive.raspberrypi.com/debian/dists/bookworm/InRelease is not valid yet (invalid for another 84d 13h 13min 5s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian/dists/bookworm-updates/InRelease is not valid yet (invalid for another 85d 0h 52min 29s). Updates for this repository will not be applied.
Esto se debe a que la hora en el Raspberry Pi está configurada incorrectamente, y debes configurar la hora manualmente en el Raspberry Pi con el siguiente comando:
# Este comando solo funcionará si puedes conectar google.com
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
Después de configurar la hora de tu Raspberry Pi, podrás actualizarlo.
Configurar PCIe a gen2/gen3 (gen3 es más rápido que gen2):
Añadir el siguiente texto a /boot/firmware/config.txt
# Habilitar el conector PCIe externo
dtparam=pciex1
# Forzar velocidades Gen 3.0
dtparam=pciex1_gen=3
Si deseas usar gen2, comenta la línea dtparam=pciex1_gen=3
Instalar hailo-all y reiniciar:
Abre la terminal en Raspberry Pi 5 e ingresa el siguiente comando para instalar el software Hailo.
sudo apt install hailo-all
sudo apt-get -y install libblas-dev nlohmann-json3-dev
sudo reboot
Verificar el software y el hardware:
Abre la terminal en Raspberry Pi 5 e ingresa el siguiente comando para verificar si hailo-all se ha instalado.
hailortcli fw-control identify
El resultado correcto se muestra a continuación:
Abre la terminal en Raspberry Pi 5 e ingresa el siguiente comando para verificar si hailo-8L se ha conectado correctamente.
lspci | grep Hailo
El resultado correcto se muestra a continuación:
Ejecutar el proyecto
Instalar el proyecto
git clone https://github.com/hailo-ai/hailo-CLIP.git
cd hailo-CLIP
python3 -m pip install -v -e .
Ejecutar el proyecto
Ingresa el siguiente comando y verás una demo de CLIP:
clip_app --input demo
Y si deseas usar tu cámara, debes ingresar el siguiente comando después de asegurarte de que Raspberry Pi haya conectado tu propia cámara:
clip_app --input /dev/video0
Resultado
En el video que se muestra a continuación, puedes ver que cuando ingreso "banana," el modelo CLIP reconoce una banana, y cuando ingreso "apple," el modelo reconoce una manzana. Solo necesitas ingresar diferentes palabras y el modelo CLIP reconocerá diferentes objetos.
Soporte técnico y discusión sobre el producto
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para garantizar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para adaptarnos a diferentes preferencias y necesidades.