[PYTHON] Führen Sie OpenVino unter macOS und pyenv und pipenv aus

Was ist das?

Ein Memorandum darüber, wie OpenVino in Situationen gut funktioniert, in denen Pyenv Pipenv auch unter macOS Catalina verwendet. Dies ist eine Fortsetzung von "OpenVino unter macOS Catalina ausführen". Wenn Sie keine virtuelle Umgebung verwenden oder eine Umgebung gut erstellen können, lesen Sie dies bitte. Dies ist eine Auffrischung des Inhalts für Anfänger, die die oben genannte Umgebung verwenden.

Umgebung

macOS Catalina(10.15.4) OpenVino(2020.2.117) Python 3.7.5 cmake 3.17.1

Vorsichtsmaßnahmen im Allgemeinen

Wenn Sie OpenVino installieren und dem Tutorial folgen, übergeben Sie den Pfad zu opencv und verwenden pip ohne Erlaubnis. Wenn Sie also unachtsam pyenv oder pipenv verwenden, ist dies bedeutungslos. Schauen Sie sich zuerst die Quelle an, nicht wie gesagt. Es ist ein wenig ärgerlich, aber wenn Sie das Rätsel $ source /opt/intel/openvino/bin/setupvars.sh nicht in .bash_profile usw. schreiben und es jedes Mal ausführen, wenn Sie das Terminal starten, kann es zu Konflikten mit anderen Entwicklungsumgebungen kommen. Es wird niedriger sein.

Laden Sie OpenVino herunter und installieren Sie es

Laden Sie dmg für macOS von [hier] herunter (https://software.intel.com/content/www/us/en/develop/tools/openvino-toolkit/choose-download/mac.html) und entpacken Sie es. Lauf. Normalerweise als Root-Benutzer installieren. Wenn Sie fertig sind, werden Sie zu einer Webseite weitergeleitet, aber führen Sie die Tutorial-Demo hier noch nicht aus!

Erstellen einer Projektumgebung

Erstellen Sie ein Projektverzeichnis und legen Sie pyenv und pipenv fest. Die empfohlene Version von Python für OpenVino ist 3.7.5. Installieren Sie daher 3.7.5 für pyenv.

$ pyenv install 3.7.5
$ mkdir ~/Documents/openvino-projects
$ cd ~/Documents/openvino-projects
$ source /opt/intel/openvino/bin/setupvars.sh
[setupvars.sh] OpenVINO environment initialized

Wir haben eine Tutorial-Demo und einige Bibliotheken zusammengestellt, die in anderen Demos verwendet werden. Platzieren Sie den folgenden Inhalt mit dem Namen Pipfile im Projektverzeichnis (hier ~ / Documents / openvino-projects).

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]

[packages]
tensorflow = "<2.0.0,>=1.2.0"
mxnet = ">=1.0.0,<=1.5.1"
networkx = ">=1.11"
numpy = ">=1.12.0"
protobuf = "==3.6.1"
onnx = ">=1.1.2"
defusedxml = ">=0.5.0"
pyyaml = "*"
requests = "*"
scipy = "*"

[requires]
python_version = "3.7"

Erstellen Sie eine virtuelle Umgebung und betreten Sie die Shell.

$ cd ~/Documents/openvino-projects
$ pyenv local 3.7.5
$ pipenv --python 3.7.5
........Abkürzung
$ pipenv install
#Hier abschließen..Wenn es nicht für immer endet, ist es unvermeidlich (obwohl ich es nicht sehr empfehlen kann), also nach gewaltsamer Beendigung,
pipenv install --skip-Lass uns sperren.
........Abkürzung
$ pipenv shell

Führen Sie das Tutorial aus

In der Tutorial-Demo auf der Webseite, die nach der Installation angezeigt wird, wird nur ein Skript ausgeführt, das das Modell herunterlädt, transformiert und sogar ausführt. Dies erledigt jedoch einige zusätzliche Arbeiten, sodass ich es ein wenig beheben werde.

$ cd /opt/intel/openvino/deployment_tools/demo/
$ sudo cp ./demo_squeezenet_download_convert_run.sh ./demo_squeezenet_download_convert_run2.sh

Kommentieren Sie die Zeilen 146-150 von demo_squeezenet_download_convert_run2.sh aus und speichern Sie (erfordert Root-Rechte).

demo_squeezenet_download_convert_run2.sh


#if [[ "$OSTYPE" == "darwin"* ]]; then
#    $pip_binary install -r $ROOT_DIR/../open_model_zoo/tools/downloader/requirements.in
#else
#    sudo -E $pip_binary install -r $ROOT_DIR/../open_model_zoo/tools/downloader/requirements.in
#fi

Lauf.

$ ./demo_squeezenet_download_convert_run2.sh
........Abkürzung
$ ./demo_security_barrier_camera.sh
........Abkürzung

Wenn es keinen Fehler gibt und das Ergebnis so etwas wie [WEB-Seite] ist (https://docs.openvinotoolkit.org/2020.2/_docs_install_guides_installing_openvino_macos.html#set-the-environment-variables)

Führen Sie eine C ++ - Demo aus

Speichern Sie den folgenden Inhalt in Ihrem Projektverzeichnis als update_rpath.sh.

update_rpath.sh


install_name_tool -add_rpath '/opt/intel/openvino/opencv/lib' /opt/intel/openvino_2020.2.117/python/python3/cv2.so
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/lib/intel64' /opt/intel/openvino_2020.2.117/python/python3/cv2.so
install_name_tool -add_rpath '/opt/intel/openvino/deployment_tools/ngraph/lib' /opt/intel/openvino_2020.2.117/python/python3/cv2.so
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/external/tbb/lib' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine_legacy.dylib
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/lib/intel64' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libMKLDNNPlugin.dylib
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/lib/intel64' /opt/intel/openvino/python/python3.7/openvino/inference_engine/ie_api.so
install_name_tool -add_rpath '/opt/intel/openvino/inference_engine/external/tbb/lib' /opt/intel/openvino/python/python3.7/openvino/inference_engine/ie_api.so
install_name_tool -add_rpath '/opt/intel/openvino/deployment_tools/ngraph/lib' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine.dylib
install_name_tool -add_rpath '/opt/intel/openvino/deployment_tools/ngraph/lib' /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libinference_engine_legacy.dylib

Führen Sie die obige Datei aus (siehe vorherigen Beitrag (https://qiita.com/y-fuku/items/ed70fac7f65ef73f80f6), um zu erfahren, warum dies durchgeführt wird).

$ cd ~/Documents/openvino-projects
$ chmod 755 ./update_rpath.sh
$ sudo ./update_rpath.sh

Kopieren Sie das Verzeichnis mit den Demo-Dateien in Ihr Projektverzeichnis.

$ cp -r /opt/intel/openvino/deployment_tools/open_model_zoo/demos .

cmake mit der Python-Modul-Option.

$ cd demos
$ cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON .
......Abkürzung

Es wird jedoch nicht so kompiliert, wie es ist. Bearbeiten Sie daher CmakeCache.txt (Zeile 34).

CMakeCache.txt


...... weggelassen ...
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=-Wno-inconsistent-missing-override
...... weggelassen ...

machen

$ make -j2
...... weggelassen ...

Die ausführbare Datei wird unter Intel64 / Release erstellt. Lassen Sie uns crossroad_camera_demo ausführen. Schauen Sie sich zunächst die [Erklärungsseite für jedes Beispiel] an (https://docs.openvinotoolkit.org/latest/_demos_README.html).

crossroad_camera_demo ist die Seite hier. Lassen Sie es uns vorerst sorgfältig lesen. Zunächst müssen Sie die erforderlichen Modelldateien herunterladen. Laden Sie das gewünschte Modell wie folgt herunter.

$ cd ~/Documents/openvino-projects
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name person-vehicle-bike-detection-crossroad-0078
...... weggelassen ...
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name person-attributes-recognition-crossroad-0230
...... weggelassen ...
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name person-reidentification-retail-0031
...... weggelassen ...

Das Modell wird unter openvino-projects / intel / heruntergeladen. Crossroad_camera_demo kann eine Videodatei oder Kamera als Eingabe verwenden, eine PC-Kamera eignet sich jedoch nicht zum Fotografieren von Passanten. Verwenden Sie daher eine geeignete Videodatei. Nützliche Ressourcen für die Demo finden Sie hier.

Verwenden wir hier People-Detection.mp4.

$ mkdir sample-videos
# people-detection.Laden Sie mp4 und Probe-Legen Sie es in den Videoordner.

$ ./demos/intel64/Release/crossroad_camera_demo \
-i ./sample-videos/people-detection.mp4 \
-m ./intel/person-vehicle-bike-detection-crossroad-0078/FP16/person-vehicle-bike-detection-crossroad-0078.xml \
-m_pa ./intel/person-attributes-recognition-crossroad-0230/FP16/person-attributes-recognition-crossroad-0230.xml \
-m_reid ./intel/person-reidentification-retail-0031/FP16/person-reidentification-retail-0031.xml \
-d CPU -d_pa CPU -d_reid CPU

In dieser Demo werden wir Personen erkennen, Attributinformationen schätzen und mithilfe separater Modelle verfolgen (neu identifizieren).

Führen Sie die Python-Demo aus

Demos für Python finden Sie unter demos / python_demos /. Lassen Sie uns eine Demo der Gesichtserkennung ausführen. Klicken Sie hier, um die Erklärungsseite der Gesichtserkennung aufzurufen. Laden Sie in ähnlicher Weise die erforderliche Modelldatei herunter und führen Sie sie aus. Dieses Mal werde ich eine PC-Kamera verwenden. In dieser Demo können Sie die einfache Gesichtserkennungsfunktion mit der Option --run_detector verwenden. Machen Sie ein Foto vom Zielgesicht.

$ cd ~/Documents/openvino-projects
$ mkdir face-data
#Mach ein Foto von dir, mein Name.JPG usw. Gesicht-Legen Sie es in Daten.

#Modell herunterladen (direkt unter dem Projektverzeichnis ausführen)
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name face-detection-retail-0004 
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name landmarks-regression-retail-0009
$ /opt/intel/openvino/deployment_tools/open_model_zoo/tools/downloader/downloader.py --name face-reidentification-retail-0095

#Führen Sie die Demo aus
$ python3 demos/python_demos/face_recognition_demo/face_recognition_demo.py \
-m_fd ./intel/face-detection-retail-0004/FP16/face-detection-retail-0004.xml \
-m_lm ./intel/landmarks-regression-retail-0009/FP16/landmarks-regression-retail-0009.xml \
-m_reid ./intel/face-reidentification-retail-0095/FP16/face-reidentification-retail-0095.xml \
--verbose --run_detector -fg ./face-data

Wenn Sie es starten, werden Sie aufgefordert, Ihren Namen in das auf einem anderen Bildschirm aufgenommene Gesichtsfoto einzugeben. Geben Sie einen Namen Ihrer Wahl ein. Als nächstes wird ein weiteres Bild (was war ursprünglich enthalten?) Angezeigt. Beantworten Sie dies entsprechend.

Die Kamera startet und erkennt Ihr Bild.

Recommended Posts

Führen Sie OpenVino unter macOS und pyenv und pipenv aus
Führen Sie OpenVino unter macOS Catalina aus
Entfernen Sie die alte Pyenv-Umgebung auf dem Mac und aktualisieren Sie sie
Erstellen Sie eine Python-Entwicklungsumgebung mit pyenv unter MacOS
Anmerkungen zu Pyenv und Atom
Catalina auf Mac und Pyenv
Installieren Sie Dropbox und führen Sie es unter Ubuntu 20.04 aus
Aufbau einer Python-Entwicklungsumgebung unter macOS
Erstellen Sie die Python 3.8 + Pipenv-Umgebung unter Ubuntu 18.04
Erstellen einer Umgebung mit pyenv und pyenv-virtualenv
Hinzufügen einer lokalen Entwicklungsumgebung unter MacOS
Erstellen Sie Python 3 und OpenCV unter Ubuntu 18.04
Erstellen Sie eine Python-Umgebung unter MacOS (Catallina)
Virtuelle Python-Umgebung und Pakete unter Ubuntu
Hinweise zum Erstellen von Python und Pyenv auf dem Mac
Erstellen einer Umgebung für Python und maschinelles Lernen (macOS)
Führen Sie flake8 und pytest auf GitLab CI aus
Führen Sie py.test unter Windows Anaconda und MinGW aus
Hinweise zum Festlegen der Pyenv- und Python-Umgebung mit Homebrew unter Mac OS Marvericks
Installieren Sie pyenv und Python 3.6.8 unter Ubuntu 18.04 LTS
Erstellen Sie eine Python3-Umgebung mit pyenv auf einem Mac und zeigen Sie NetworkX-Diagramme an
Installieren Sie pyenv und rbenv systemweit unter CentOS
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
So führen Sie eine Django-Anwendung auf einem Docker-Container aus (Entwicklungs- und Produktionsumgebung)
Aufbau der Python3 TensorFlow-Umgebung (Mac und pyenv virtualenv)
Installieren Sie Python3.5 + NumPy + SciPy und führen Sie es unter Windows 10 aus
Aufbau einer MacOS 10.11-Umgebung: Powerline mit Anaconda und Dein.vim
Erstellen Sie eine Python-Umgebung mit pyenv auf EC2 (Ubuntu)
Führen Sie die Pip-Installation unter MacOS Python 3.7 oder höher aus
Ich möchte pyenv + pipenv auch unter Windows machen
Bereiten Sie die Pyhton-Umgebung (pyenv) von VSCode vor (MacOS, flake8 + autopep8)
Installieren Sie Python und Bibliotheken für Python unter MacOS Catalina
So stellen Sie pyenv unter Amazon Linux und Ubuntu ein, um eine Python 3.6.0-Umgebung zu erstellen
Bis Sie mit Python unter Windows 7 eine maschinelle Lernumgebung erstellen und ausführen
Pipenv und Pipfile.lock
Saubere Installation und Aktualisierung der Arbeitsumgebung von macOS Catalina
Installieren Sie Python3 auf einem Mac und erstellen Sie eine Umgebung [Definitive Edition]
Erstellen Sie Discord Bot und führen Sie es auf einem Android-Gerät aus
Installieren Sie Apache 2.4 unter Ubuntu 19.10 Eoan Ermine und führen Sie CGI aus
Memo zum Erstellen einer Python-Entwicklungsumgebung mit macOS Catalina
Erstellen Sie mit pyenv eine Python-Umgebung auf Ihrem Mac
[Python] Django-Umgebungskonstruktion (pyenv + pyenv-virtualenv + Anaconda) für macOS
Installieren Sie Docker unter Arch Linux und führen Sie es remote aus
Installieren Sie pyenv auf Raspberry Pi, um Python zu verwalten
Erstellen Sie unter Windows eine anständige Shell- und Python-Umgebung
Installieren Sie die Python-Umgebung auf einem lokalen PC (pyenv, venv auf einem Mac).
Erstellen einer numerischen Berechnungsumgebung mit pyenv und miniconda3