[PYTHON] Autoriser Keras 2.0 et OpenCV 3.2 à fonctionner dans un environnement GPU

Ceci est un mémo de travail jusqu'à ce que vous puissiez exécuter Keras (version GPU) et OpenCV 3.2 sur Python 2.7.

Environnement de vérification et bibliothèque

Télécharger CuDNN

https://developer.nvidia.com/rdp/cudnn-download

À partir de «Télécharger cuDNN v6.0 (27 avril 2017), pour CUDA 8.0» Vous devez télécharger "cuDNN v6.0 Library for Linux". (cuDNN v7.0 ne semble pas être pris en charge par TensorFlow 1.3.0 [^ 1])

Supposons que vous placiez le fichier téléchargé dans "/tmp/cudnn-8.0-linux-x64-v6.0.tgz".

Créer un conteneur Docker

Comment installer nvidia-docker est décrit dans le lien ci-dessous.

https://github.com/NVIDIA/nvidia-docker

nvidia-docker pull nvidia/cuda
nvidia-docker run -it -v /tmp:/tmp nvidia/cuda bash

Installation de Keras

apt-get update -y
apt-get upgrade -y
apt-get install -y python-dev python-setuptools curl
curl -kL https://bootstrap.pypa.io/get-pip.py | python
pip install tensorflow-gpu==1.3.0
tar -xvzf /tmp/cudnn-8.0-linux-x64-v6.0.tgz
mv cuda/lib64/libcudnn* /usr/local/cuda/lib64/
mv cuda/include/cudnn.h /usr/local/cuda/include/
chmod a+r /usr/local/cuda/include/cudnn.h 
chmod a+r /usr/local/cuda/lib64/libcudnn* 
echo "export LD_LIBRARY_PATH='$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64'" >> ~/.bashrc
echo "export CUDA_HOME=/usr/local/cuda" >> ~/.bashrc
source ~/.bashrc
pip install Keras==2.0.6

Vérification du fonctionnement de Keras

python -c "import keras; print(keras.__version__)"

Si «2.0.6» est affiché, il réussit.

Installation d'OpenCV 3.2

Tout le reste se fait à l'intérieur du conteneur Docker. Je me réfère à l'article [^ 2].

apt-get install -y build-essential cmake git pkg-config libjpeg8-dev libtiff5-dev libjasper-dev libpng12-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libgtk-3-dev libatlas-base-dev gfortran python2.7-dev zip libhdf5-dev libprotobuf-dev libprotoc-dev protobuf-compiler xserver-xorg doxygen wget

Au milieu

Country of origin for the keyboard: 50
Keyboard layout: 1

Un message apparaîtra, vous devez donc le sélectionner en fonction de votre propre environnement. Dans mon cas, je l'ai réglé sur 50 (japonais) et 1 (japonais).

Construction OpenCV

wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip
unzip opencv.zip
cd opencv-3.2.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D BUILD_CUDA_STUBS=OFF -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_FFMPEG=OFF -D BUILD_opencv_python2=ON -D BUILD_EXAMPLES=OFF -DBUILD_opencv_dnn=OFF ..
make -j $(nproc)
make install

Le code [^ 3] peut être utilisé comme référence pour les options de cmake.

Vérification du fonctionnement d'OpenCV

python -c "import cv2; print(cv2.__version__)"

Si «3.2.0» est affiché dans, cela réussit.

References

Recommended Posts

Autoriser Keras 2.0 et OpenCV 3.2 à fonctionner dans un environnement GPU
Comment exécuter AutoGluon dans un environnement GPU Google Colab
Comment obtenir des histogrammes RVB et HSV avec OpenCV
[TF] Comment charger / enregistrer le modèle et le paramètre dans Keras
Construction d'environnement de python et opencv
Comment installer OpenCV sur Cloud9 et l'exécuter en Python
Créez et essayez un environnement OpenCV et Python en quelques minutes à l'aide de Docker
Préparer un environnement pour utiliser OpenCV et Pillow avec AWS Lambda
Version de juin 2017 pour créer un environnement Tensorflow / Keras sur une instance GPU d'AWS
J'ai implémenté le modèle VGG16 avec Keras et essayé d'identifier CIFAR10
Méthode pour créer un environnement Python dans Xcode 6
Créer un environnement Python 3 et OpenCV sur Ubuntu 18.04
Comment utiliser BigQuery en Python
Comment vérifier la version d'opencv avec python
Pour référencer des variables d'environnement en Python dans Blender
Pour faire fonctionner la station d'horodatage en Python
Introduction à docker Création d'un environnement ubuntu dans ubuntu
Comment utiliser is et == en Python
Comment dessiner une image OpenCV avec Pygame
Flutter dans Docker - Comment créer et utiliser un environnement de développement Flutter dans un conteneur Docker
Créez un environnement PYNQ sur Ultra96 V2 et connectez-vous à Jupyter Notebook
Comment réduire l'utilisation de la mémoire GPU avec Keras
Comment suivre le travail avec Powershell
Comment générer une séquence en Python et C ++
J'ai essayé d'intégrer Keras dans TFv1.1
Envoyer un message à Skype et Chatwork en Python
Installez gensim dans l'environnement conda (et installez également mecab)
Construction d'un environnement d'oreiller - Pour Docker + iPython (et OpenCV)
Travaillez dans un environnement virtuel avec Python virtualenv.
[TF] Comment créer Tensorflow dans un environnement Proxy
Ajouter des totaux aux lignes et aux colonnes avec des pandas
[Windows] Mémo pour l'utilisation de Keras sur GPU [Tensorflow-GPU]
Lorsque l'environnement intégré de Spyder ne fonctionne pas
Pour représenter la date, l'heure, l'heure et les secondes en Python
Comment tracer l'autocorrélation et l'autocorrélation partielle avec Python
Utilisez os.getenv pour obtenir des variables d'environnement en Python
Utilisez un GPU gratuit dans votre environnement préféré
Étapes pour créer rapidement un environnement d'apprentissage en profondeur sur Mac avec TensorFlow et OpenCV
Installez OpenCV 3 (core + contrib) dans l'environnement Windows et Python 3 et différence entre OpenCV 2 et OpenCV 3 et contrôle de fonctionnement facile
Comment utiliser Docker pour conteneuriser votre application et comment utiliser Docker Compose pour exécuter votre application dans un environnement de développement