Installieren Sie das OpenVINO™-Toolkit für Raspbian* BS von einem Docker*-Image aus
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
Gibtarmv7l
.- 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.
- Erstellen Oder gehen Sie in ein Verzeichnis, in dem Sie Ihr Docker*-Image erstellen. Dieses Dokument erstellt eine ~/Docker Verzeichnis.
mkdir ~/docker && cd ~/docker
- 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.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 "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.
- 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.
- 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)
- 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/
- 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. |