Aplicación Clip en Raspberry Pi con AI Kit
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, dada una imagen, sin optimizar directamente para la tarea, de manera similar a las capacidades zero-shot de GPT-2 y 3. Encontramos que CLIP iguala el rendimiento del ResNet50 original en ImageNet "zero-shot" sin usar ninguno de los 1.28M 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 una Raspberry Pi5 o Recomputer r1000, clip realizará inferencia en AI kit.
Preparar Hardware
Para Recomputer R1000
reComputer r1000 | Raspberry Pi AI Kit |
---|---|
![]() | ![]() |
Para Raspberry Pi 5
reComputer AI R2130 |
---|
![]() |
Instalar el Software de Hailo y Verificar la Instalación
actualizar el sistema
sudo apt update
sudo apt full-upgrade
A veces puedes encontrarte con los siguientes problemas durante las actualizaciones:
Get:1 [http://deb.debian.org/debian](http://deb.debian.org/debian) bookworm InRelease [151 kB]
Get:2 [http://deb.debian.org/debian-security](http://deb.debian.org/debian-security) bookworm-security InRelease [48.0 kB]
Get:3 [http://deb.debian.org/debian](http://deb.debian.org/debian) bookworm-updates InRelease [55.4 kB]
Get:4 [http://archive.raspberrypi.com/debian](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](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](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](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](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 ocurre porque la hora en la Raspberry Pi está configurada incorrectamente. Necesitas establecer manualmente la hora en la Raspberry Pi con el siguiente comando:
# Este comando requiere que puedas conectarte a 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 correctamente, podrás actualizar tu Raspberry Pi.
Configurar pcie a gen2/gen3 (gen3 es más rápido que gen2)
Añade el siguiente texto a /boot/firmware/config.txt
#Enable the PCIe external connector
dtparam=pciex1
#Force Gen 3.0 speeds
dtparam=pciex1_gen=3
Si deseas utilizar gen2, por favor comenta la línea dtparam=pciex1_gen=3
.
Instalar hailo-all y reiniciar
Abre la terminal en la Raspberry Pi5, e ingresa el comando como se muestra a continuación para instalar el software Hailo.
sudo apt install hailo-all
sudo apt-get -y install libblas-dev nlohmann-json3-dev
sudo reboot
Verificar Software y Hardware
Abre la terminal en la Raspberry Pi5, e ingresa el comando como se muestra a continuación para verificar si hailo-all ha sido instalado.
hailortcli fw-control identify
El resultado correcto se muestra a continuación:
Abre la terminal en la Raspberry Pi5, e ingresa el comando como se muestra a continuación para verificar si hailo-8L ha sido conectado.
lspci | grep Hailo
El resultado correcto se muestra a continuación:
Ejecutar Proyecto
Instalar Proyecto
git clone https://github.com/hailo-ai/hailo-CLIP.git
cd hailo-CLIP
./install.sh
Ejecutar el proyecto
Ingresa el comando a continuación y verás una demostración de clip:
source setup_env.sh
clip_app --input demo
Y si quieres usar tu cámara, debes ingresar el comando a continuación después de asegurarte de que la raspberry esté conectada a 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 un plátano, 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 de Productos
¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.