[PYTHON] Exécutez OpenVino sur macOS et environnement pyenv et pipenv

Qu'est-ce que c'est?

Un mémorandum sur la façon de bien faire fonctionner openvino dans les situations où pyenv utilise également pipenv sur macOS Catalina. Ceci est une suite de "Exécuter OpenVino sur macOS Catalina". Si vous n'utilisez pas un environnement virtuel ou êtes doué pour créer un environnement, veuillez vous y référer. Ceci est une mise à jour du contenu pour les débutants qui utilisent l'environnement ci-dessus.

environnement

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

Précautions en général

Si vous installez OpenVino et suivez le tutoriel, vous passerez le chemin vers l'opencv et utiliserez pip sans autorisation, donc si vous utilisez par inadvertance pyenv ou pipenv, cela n'aura aucun sens. Regardez d'abord la source, pas comme il a été dit. C'est un peu ennuyeux, mais si vous n'écrivez pas le mystère $ source /opt/intel/openvino/bin/setupvars.sh dans .bash_profile etc. et que vous l'exécutez chaque fois que vous démarrez le terminal, il peut entrer en conflit avec d'autres environnements de développement. Ce sera plus bas.

Téléchargez et installez OpenVino

Téléchargez dmg pour macOS depuis ici et décompressez-le. Courir. Normalement, installez en tant qu'utilisateur root. Lorsque vous avez terminé, vous serez redirigé vers une page Web, mais ne lancez pas encore la démo du didacticiel ici!

Construire un environnement de projet

Créez un répertoire de projet et définissez pyenv et pipenv. La version recommandée de python pour OpenVino est 3.7.5, donc installez 3.7.5 pour 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

Nous avons rassemblé une démo de tutoriel et quelques bibliothèques utilisées dans d'autres démos. Placez le contenu suivant dans le répertoire du projet (ici ~ / Documents / openvino-projects) avec le nom Pipfile.

[[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"

Créez un environnement virtuel et entrez dans le shell.

$ cd ~/Documents/openvino-projects
$ pyenv local 3.7.5
$ pipenv --python 3.7.5
........Abréviation
$ pipenv install
#Verrouiller ici..Si cela ne se termine pas pour toujours, c'est inévitable (bien que je ne puisse pas le recommander beaucoup), donc après la fin forcée
pipenv install --skip-Verrouillons.
........Abréviation
$ pipenv shell

Exécutez le tutoriel

La démo du didacticiel sur la page Web qui apparaît après l'installation exécute simplement un script qui télécharge, transforme et même exécute le modèle, mais cela fait un travail supplémentaire, je vais donc le réparer un peu.

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

Mettez en commentaire les lignes 146-150 de demo_squeezenet_download_convert_run2.sh et enregistrez (nécessite les privilèges root).

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

Courir.

$ ./demo_squeezenet_download_convert_run2.sh
........Abréviation
$ ./demo_security_barrier_camera.sh
........Abréviation

S'il n'y a pas d'erreur et que le résultat est quelque chose comme page WEB

Lancer une démo C ++

Enregistrez le contenu suivant dans le répertoire de votre projet sous 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

Exécutez le fichier ci-dessus (voir l'article précédent (https://qiita.com/y-fuku/items/ed70fac7f65ef73f80f6) pour plus d'informations sur les raisons de cette opération).

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

Copiez le répertoire contenant les fichiers de démonstration dans le répertoire de votre projet.

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

cmake avec l'option de module python.

$ cd demos
$ cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_PYTHON=ON .
......Abréviation

Cependant, il ne se compilera pas tel quel, alors éditez CmakeCache.txt (ligne 34).

CMakeCache.txt


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

faire

$ make -j2
...... Omis ...

Le fichier exécutable est construit sous intel64 / Release. Lançons crossroad_camera_demo. Tout d'abord, jetez un œil à la page d'explication pour chaque exemple.

crossroad_camera_demo est la page ici. Lisons-le attentivement pour le moment. Tout d'abord, vous devez télécharger les fichiers de modèle nécessaires. Téléchargez le modèle requis comme suit.

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

Le modèle sera téléchargé sous openvino-projects / intel /. Crossroad_camera_demo peut utiliser un fichier vidéo ou une caméra comme entrée, mais une caméra PC ne convient pas pour prendre des photos de passants, utilisez donc un fichier vidéo approprié. Des ressources utiles pour la démo peuvent être trouvées ici.

Utilisons ici people-detection.mp4.

$ mkdir sample-videos
# people-detection.Télécharger mp4 et échantillon-Mettez-le dans le dossier vidéos.

$ ./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

Dans cette démo, nous allons détecter les personnes, estimer les informations d'attribut et suivre (réidentifier) à l'aide de modèles séparés.

Lancer la démo de Python

Les démos pour python peuvent être trouvées sous demos / python_demos /. Lançons une démo de reconnaissance faciale. Cliquez ici pour la page de description de la reconnaissance faciale. De même, téléchargez et exécutez le fichier de modèle requis. Cette fois, j'utiliserai une caméra PC. Dans cette démo, vous pouvez utiliser la fonction de reconnaissance faciale simple avec l'option --run_detector. Prenez une photo du visage cible.

$ cd ~/Documents/openvino-projects
$ mkdir face-data
#Prends une photo de toi, mon nom.jpg, etc., visage-Mettez-le dans les données.

#Télécharger le modèle (exécuter directement sous le répertoire du projet)
$ /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

#Lancer la démo
$ 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

Lorsque vous le démarrez, il vous sera demandé de saisir votre nom sur la photo de visage prise sur un autre écran. Entrez un nom de votre choix. Ensuite, une autre image (ce qui était inclus à l'origine?) Sera affichée, alors répondez à cette question comme il convient.

L'appareil photo démarre et reconnaît votre image.

Recommended Posts

Exécutez OpenVino sur macOS et environnement pyenv et pipenv
Exécutez OpenVino sur macOS Catalina
Supprimer l'ancien environnement pyenv sur Mac et mettre à jour
Créer un environnement de développement Python à l'aide de pyenv sur MacOS
Notes sur pyenv et Atom
Catalina sur Mac et pyenv
Installez et exécutez Dropbox sur Ubuntu 20.04
Construction de l'environnement de développement Python sur macOS
Créer un environnement Python 3.8 + Pipenv sur Ubuntu 18.04
Créer un environnement avec pyenv et pyenv-virtualenv
Ajout d'un environnement de développement local sur MacOS
Créer un environnement Python 3 et OpenCV sur Ubuntu 18.04
Construire un environnement python sur MacOS (Catallina)
Environnement virtuel Python et packages sur Ubuntu
Remarques sur la construction de Python et pyenv sur Mac
Créer un environnement pour Python et l'apprentissage automatique (macOS)
Exécutez flake8 et pytest sur GitLab CI
Exécutez py.test sur Windows Anaconda et MinGW
Remarques sur la configuration de l'environnement pyenv et python à l'aide de Homebrew sur Mac OS Marvericks
Installez pyenv et Python 3.6.8 sur Ubuntu 18.04 LTS
Créez un environnement Python 3 avec pyenv sur Mac et affichez des graphiques Network X
Installez pyenv et rbenv à l'échelle du système sur CentOS
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Comment exécuter une application Django sur un conteneur Docker (environnement de développement et de production)
Construction de l'environnement Python3 TensorFlow (Mac et pyenv virtualenv)
Installez et exécutez Python3.5 + NumPy + SciPy sur Windows 10
Construction de l'environnement MacOS 10.11: Powerline avec Anaconda et Dein.vim
Créer un environnement python avec pyenv sur EC2 (ubuntu)
Exécutez l'installation de pip sur MacOS Python 3.7 ou version ultérieure
Je veux faire pyenv + pipenv même sous Windows
Préparer l'environnement pyhton (pyenv) de VSCode (MacOS, flake8 + autopep8)
Installer Python et les bibliothèques pour Python sur MacOS Catalina
Comment mettre Pyenv sur Amazon Linux et Ubuntu pour créer un environnement Python 3.6.0
Jusqu'à ce que vous créiez un environnement d'apprentissage automatique avec Python sur Windows 7 et que vous l'exécutiez
Pipenv et Pipfile.lock
Installation propre et mise à jour de l'environnement de travail de macOS Catalina
Installez Python 3 sur Mac et créez un environnement [Definitive Edition]
Créez et exécutez Discord Bot sur un appareil Android
Installez Apache 2.4 sur Ubuntu 19.10 Eoan Ermine et exécutez CGI
Un mémo pour créer un environnement de développement python avec macOS Catalina
Créez un environnement Python sur votre Mac en utilisant pyenv
[Python] Construction de l'environnement Django (pyenv + pyenv-virtualenv + Anaconda) pour macOS
Installez Docker sur Arch Linux et exécutez-le à distance
Installez pyenv sur Raspberry Pi pour gérer Python
Créez un environnement shell et python décent sur Windows
Installer l'environnement Python sur un PC local (pyenv, venv sur Mac)
Construire un environnement de calcul numérique avec pyenv et miniconda3