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.
macOS Catalina(10.15.4) OpenVino(2020.2.117) Python 3.7.5 cmake 3.17.1
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 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!
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
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
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.
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