Instale el kit de herramientas OpenVINO™ para el so Raspbian* desde una imagen de Docker*.

Documentación

Instalación y configuración

000055220

26/09/2022

La Distribución Intel del kit de herramientas OpenVINO simplifica la adopción y el mantenimiento del código. El tiempo de ejecución (motor de inferencia) le permite ajustarse al desempeño mediante la compilación de la red optimizada y la administración de operaciones de inferencia en dispositivos específicos.

Esta guía proporciona a los usuarios los pasos para crear una imagen de Docker* a fin de instalar el kit de herramientas OpenVINO™ para el so Raspbian*.

Requisitos del sistema

Sistema operativo objetivo

  • Raspbian* Stretch, 32 bits
  • Raspbian* Buster, 32 bits

Sistemas operativos host

  • Raspbian* Stretch, 32 bits
  • Raspbian* Buster, 32 bits

Hardware

  • Placa Raspberry Pi* con arquitectura de CPU ARM* ARMv7-A. Controle que uname -m Devuelve armv7l.
    • Raspberry Pi* 3 Modelo B+
    • Raspberry Pi* 4 Modelo B
  • Barra de cómputo neuronal Intel® 2

Software

Nota

Utilice los scripts automatizados de conveniencia para instalar Docker*, ya que esta es la única forma de instalar este kit de herramientas para Raspbian*. Obtenga más información.

Creación de una imagen Docker* para Barra de cómputo neuronal Intel® 2

Imagen de compilación

Para crear una imagen de Docker*, deberá crear un Dockerfile que contenga las variables definidas y los comandos necesarios para crear una imagen de instalación del kit de herramientas OpenVINO™.

Cree el dockerfile utilizando el siguiente ejemplo como plantilla.

  1. Cree o vaya a un directorio donde creará la imagen de Docker*. Este documento crea un ~/Docker Directorio.

    mkdir ~/docker && cd ~/docker

  2. Descargue el archivo Plantilla de dockerfile (ZIP) a partir de esta guía o cree su propio dockerfile utilizando el contenido de la plantilla siguiente.

    vi Dockerfile

    FROM balenalib/raspberrypi3:buster

    ARG DOWNLOAD_LINK=https://github.com/openvinotoolkit/openvino/releases/download/2022.2.0/l_openvino_toolkit_debian9_arm_2022.2.0.7713.af16ea1d79a_x86_64.tgz
    ARG INSTALL_DIR=/opt/intel/openvino
    ARG BIN_FILE=https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.bin
    ARG WEIGHTS_FILE=https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/3/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml
    ARG IMAGE_FILE=https://cdn.pixabay.com/photo/2018/07/06/00/33/person-3519503_960_720.jpg

    RUN apt-get --allow-unauthenticated upgrade
    RUN apt-get update && apt-get install -y --no-install-recommends \
       apt-utils \
       automake \
       cmake \
       cpio \
       gcc \
       g++ \
       libatlas-base-dev \
       libstdc++6 \
       libtool \
       libusb-1.0.0-dev \
       lsb-release \
       make \
       python3-pip \
       python3-numpy \
       python3-scipy \
       libgtk-3-0 \
       pkg-config \
       libavcodec-dev \
       libavformat-dev \
       libswscale-dev \
       sudo \
       udev \
       unzip \
       vim \
       git \
       wget && \
       rm -rf /var/lib/apt/lists/*
    RUN mkdir -p $INSTALL_DIR && cd $INSTALL_DIR && \
       wget -c $DOWNLOAD_LINK && \
       tar xf l_openvino_toolkit_debian9_arm*.tgz --strip 1 -C $INSTALL_DIR
    # add USB rules
    RUN sudo usermod -a -G users "$(whoami)"
    # build Object Detection sample
    RUN /bin/bash -c "source $INSTALL_DIR/setupvars.sh && \
       cd $INSTALL_DIR/install_dependencies && \
       sh install_NCS_udev_rules.sh"
    RUN echo "source /opt/intel/openvino/setupvars.sh" >> ~/.bashrc && \
       mkdir /root/Downloads && \
       cd $INSTALL_DIR/samples/c/ && \
       /bin/bash -c "source $INSTALL_DIR/setupvars.sh && \
       ./build_samples.sh && \
       cd $INSTALL_DIR/samples/cpp/ && \
       ./build_samples.sh && \
       wget --no-check-certificate $BIN_FILE -O /root/Downloads/person-vehicle-bike-detection-crossroad-0078.bin && \
       wget --no-check-certificate $WEIGHTS_FILE -O /root/Downloads/person-vehicle-bike-detection-crossroad-0078.xml && \
       wget --no-check-certificate $IMAGE_FILE -O /root/Downloads/walk.jpg "

     

     
    Nota

    Tendrá que reemplazar el enlace directo al paquete OpenVINO™ toolkit en la variable DOWNLOAD_LINK de la plantilla anterior por el de la versión más reciente. Puede copiar el enlace del kit de herramientas OpenVINO para el paquete Raspbian* OS (es decir, l_openvino_toolkit_debian9_arm_*_x86_64.tgz) de https://storage.openvinotoolkit.org. Seleccione la versión más reciente disponible, haga clic con el botón derecho en la URL y presione Copiar dirección de enlace.

  3. Para crear una imagen Docker* para Intel® Movidius™ barra de cómputo neuronal o Barra de cómputo neuronal Intel® 2, ejecute el siguiente comando:

    docker build . -t

    (for example, docker build . -t openvino-rpi)

Ejecutar y probar una imagen de Docker*

Limitaciones conocidas:

  • El dispositivo Barra de cómputo neuronal Intel® 2 cambia su VendorID y DeviceID durante la ejecución y cada vez busca un sistema host como un dispositivo totalmente nuevo. Esto significa que no se puede montar de manera habitual.
  • Los eventos UTELO no se reenvía al contenedor de forma predeterminada, por lo que no es consciente de la reutilización del dispositivo.
  • Solo se admite un dispositivo por host.

Aplicación de análisis de desempeño en ejecución

La aplicación funciona con modelos en los formatos OPENVINO IR (model.xml y model.bin) y ONNX (model.onnx). Asegúrese de convertir los modelos si es necesario.

  1. Utilice la siguiente opción para ejecutar la imagen en un Barra de cómputo neuronal Intel® 2. Para ejecutar este contenedor en modo interactivo y privilegiado, habilite la configuración de red Docker como host y, a continuación, monte todos los dispositivos en el contenedor:

    docker run -it --privileged -v /dev:/dev --network=host /bin/bash

    (for example, docker run -it --privileged -v /dev:/dev --network=host openvino-rpi /bin/bash)

  2. Utilice los siguientes comandos para ejecutar la aplicación de análisis de desempeño. Vaya al directorio de muestras de la compilación:

    cd /root/inference_engine_._samples_build/armv7l/Release/

  3. Ejecute el análisis de referencia con opciones predeterminadas, utilice el siguiente comando con especificaciones para el modelo y una ruta de acceso a la imagen de entrada:

    ./benchmark_app -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -i ~/Downloads/walk.jpg -d MYRIAD

Esto completa el procedimiento de instalación del kit de herramientas OpenVINO™ para Raspbian* a partir de una imagen docker*.

Nota

Esto aplica a la versión 2022.2 del kit de herramientas OpenVINO™.

 

Temas relacionados
Creación de demostraciones de Zoo Open Model en Raspberry Pi*
Flujo de trabajo para Raspberry Pi*
Otras muestras de código del kit de herramientas de OpenVINO™
Kit de herramientas OpenVINO™ Open Model Zoo
Optimizar redes para el® dispositivo intel® Neural Compute Stick (Intel® NCS2)
Foro comunitario y asistencia técnica