Instale o kit de ferramentas OpenVINO™ raspbian* para o sistema operacional Raspbian* a partir de uma imagem Docker*
A Distribuição Intel do kit de ferramentas OpenVINO torna simples adotar e manter seu código. O tempo de execução (mecanismo de inferência) permite ajustar o desempenho compilando a rede otimizada e gerenciando operações de inferência em dispositivos específicos.
Este guia fornece aos usuários etapas para criar uma imagem Docker* para instalar o kit OpenVINO™ de ferramentas para o sistema operacional Raspbian*.
Requisitos do sistema
Sistema operacional de destino
- Raspbian* Stretch, 32 bits
- Raspbian* Buster, 32 bits
Sistemas operacionais host
- Raspbian* Stretch, 32 bits
- Raspbian* Buster, 32 bits
Hardware
- Placa Raspberry Pi* com arquitetura DE CPU ARM* ARMv7-A. Verifique isso
uname -m
Retornaarmv7l
.- Raspberry Pi* 3 modelo B+
- Raspberry Pi* 4 modelo B
- Stick de computação neural Intel® 2
Software
Nota | Use os scripts de conveniência automatizados para instalar o Docker*, pois esta é atualmente a única maneira de instalar este kit de ferramentas para Raspbian*. Encontre mais informações. |
Construindo uma imagem do Docker* para Stick de computação neural Intel® 2
Construir imagem
Para criar uma imagem do Docker*, você precisará criar um Dockerfile que contém as variáveis e comandos definidos necessários para criar uma imagem de instalação OpenVINO™ kit de ferramentas.
Crie seu Dockerfile usando o exemplo a seguir como um modelo.
- Crie ou vá para um diretório onde você criará sua imagem Docker*. Este documento cria um ~/Docker Diretório.
mkdir ~/docker && cd ~/docker
- Baixe o Modelo do dockerfile (ZIP) a partir deste guia ou crie seu próprio Dockerfile usando o conteúdo do modelo abaixo.
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.jpgRUN 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 Você precisará substituir o link direto para o pacote OpenVINO™ kit de ferramentas na variável DOWNLOAD_LINK no modelo acima com o da versão mais recente. Você pode copiar o link do kit de ferramentas OpenVINO para o pacote raspbian* SO (ou seja, l_openvino_toolkit_debian9_arm_*_x86_64.tgz) do https://storage.openvinotoolkit.org. Selecione a versão mais recente disponível, clique com o botão direito no URL e pressione Copiar o endereço do link.
- Para construir uma imagem Docker* para Intel® Movidius™ neural compute Stick ou Stick de computação neural Intel® 2, execute o seguinte comando:
docker build . -t
(for example, docker build . -t openvino-rpi)
Executando e testando uma imagem do Docker*
Limitações conhecidas:
- O Stick de computação neural Intel® 2 muda seu VendorID e DeviceID durante a execução e cada vez procura um sistema host como um dispositivo novo. Isso significa que ele não pode ser montado como de costume.
- Os eventos de UDEV não são encaminhados para o contêiner por padrão, portanto, ele não está ciente da reconexão do dispositivo.
- Apenas um dispositivo é suportado por host.
Executando o aplicativo benchmark
A aplicação funciona com modelos nos formatos OpenVINO IR (model.xml e model.bin) e ONNX (model.onnx). Certifique-se de converter seus modelos, se necessário.
- Use a opção a seguir para executar a imagem em um Stick de computação neural Intel® 2. Para executar este contêiner no modo interativo e privilegiado, habilite a configuração de rede Docker como host e, em seguida, monte todos os dispositivos no contêiner:
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)
- Use os seguintes comandos para executar o aplicativo benchmark. Vá para o diretório de amostras de compilação:
cd /root/inference_engine_._samples_build/armv7l/Release/
- Execute benchmarking com opções padrão, use o comando a seguir com especificações do modelo e um caminho para a imagem de entrada:
./benchmark_app -m ~/Downloads/person-vehicle-bike-detection-crossroad-0078.xml -i ~/Downloads/walk.jpg -d MYRIAD
Isso conclui o procedimento de instalação do kit de ferramentas OpenVINO™ raspbian* a partir de uma imagem do Docker*.
Nota | Isso se aplica à versão 2022.2 do kit OpenVINO™ ferramentas. |