Installieren Sie das OpenVINO™-Toolkit für Raspbian* BS von einem Docker*-Image aus

Dokumentation

Installation und Setup

000055220

26.09.2022

Die Intel Distribution des OpenVINO Toolkit macht es einfach, Ihren Code anzunehmen und zu pflegen. Mit der Runtime (Inferenz-Engine) können Sie die Leistung optimieren, indem Sie das optimierte Netzwerk kompilieren und Inferenzoperationen auf bestimmten Geräten verwalten.

Dieser Leitfaden bietet Benutzern Schritte zum Erstellen eines Docker*-Image zur Installation des OpenVINO™ Toolkits für Raspbian* OS.

Systemvoraussetzungen

Vorgesehenes Betriebssystem

  • Raspbian* Stretch, 32-Bit
  • Raspbian* Buster, 32-Bit

Host-Betriebssysteme

  • Raspbian* Stretch, 32-Bit
  • Raspbian* Buster, 32-Bit

Hardware

  • Raspberry Pi* Mainboard mit ARM* ARMv7-A CPU-Architektur. Überprüfen Sie, ob uname -m Gibt armv7l.
    • Raspberry Pi* 3 Modell B+
    • Raspberry Pi* 4 Modell B
  • Intel® Neural Compute Stick 2

Software

Hinweis

Verwenden Sie die automatisierten Convenience-Skripts zur Installation von Docker*, da dies derzeit die einzige Möglichkeit ist, dieses Toolkit für Raspbian* zu installieren. Weitere Informationen.

Erstellen eines Docker*-Image für Intel® Neural Compute Stick 2

Bild erstellen

Um ein Docker*-Image zu erstellen, müssen Sie eine Dockerdatei erstellen, die die definierten Variablen und Befehle enthält, die zum Erstellen eines OpenVINO™ Toolkit-Installations-Image erforderlich sind.

Erstellen Sie Ihre Dockerdatei mit dem folgenden Beispiel als Vorlage.

  1. Erstellen Oder gehen Sie in ein Verzeichnis, in dem Sie Ihr Docker*-Image erstellen. Dieses Dokument erstellt eine ~/Docker Verzeichnis.

    mkdir ~/docker && cd ~/docker

  2. Laden Sie die Dockerfile-Vorlage (ZIP) erstellen Sie aus diesem Leitfaden oder erstellen Sie Ihre eigene Dockerdatei mit dem Inhalt der unten stehenden Vorlage.

    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 "

     

     
    Hinweis

    Sie müssen den direkten Link zum OpenVINO™-Toolkit-Paket in der DOWNLOAD_LINK Variable in der obigen Vorlage durch das der neuesten Version ersetzen. Sie können den Link des OpenVINO Toolkits für das Raspbian* OS-Paket (d. h. l_openvino_toolkit_debian9_arm_*_x86_64.tgz) von https://storage.openvinotoolkit.org kopieren. Wählen Sie die neueste verfügbare Version aus, klicken Sie mit der rechten Maustaste auf die URL und drücken Sie die Link-Adresse kopieren.

  3. Um ein Docker*-Image für Intel® Movidius™ Neural Compute Stick oder Intel® Neural Compute Stick 2 zu erstellen, führen Sie den folgenden Befehl aus:

    docker build . -t

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

Ausführen und Testen eines Docker*-Image

Bekannte Einschränkungen:

  • Das Intel® Neural Compute Stick 2 Gerät ändert seine VendorID und DeviceID während der Ausführung und jedes Mal sucht es nach einem Hostsystem als einem brandneuen Gerät. Dies bedeutet, dass sie nicht wie gewohnt montiert werden kann.
  • UDEV-Ereignisse werden standardmäßig nicht an den Container weitergeleitet, und daher ist es nicht bewusst, dass das Gerät neu geschrieben wird.
  • Pro Host wird nur ein Gerät unterstützt.

Benchmark-App ausführen

Die Anwendung funktioniert mit Modellen der formate OpenVINO IR (model.xml und model.bin) und ONNX (model.onnx). Stellen Sie sicher, dass Sie Ihre Modelle falls nötig konvertieren.

  1. Verwenden Sie die folgende Option, um das Bild auf einem Intel® Neural Compute Stick 2 auszuführen. Um diesen Container im interaktiven und privilegierten Modus auszuführen, aktivieren Sie die Docker-Netzwerkkonfiguration als Host und stellen Sie dann alle Geräte am Container bereit:

    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. Verwenden Sie die folgenden Befehle, um die Benchmark-App auszuführen. Gehen Sie zum Build-Samples-Verzeichnis:

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

  3. Führen Sie Benchmarking mit Standardoptionen aus und verwenden Sie den folgenden Befehl mit den Spezifikationen für das Modell und einen Pfad zum Eingabebild:

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

Dies schließt den Installationsvorgang für das OpenVINO™ Toolkit für Raspbian* von einem Docker*-Image ab.

Hinweis

Dies gilt für die 2022.2 Version des OpenVINO™ Toolkits.

 

Verwandte Themen
Aufbau von Open Model Zoo Demos auf Raspberry Pi*
Workflow für Raspberry Pi*
Andere OpenVINO™-Toolkit-Codebeispiele
OpenVINO™ toolkit Open Model Zoo
Netzwerke für das Intel® Neural Compute Stick (Intel® NCS2) Gerät optimieren
Community-Forum und technischer Support