[PYTHON] Création d'un environnement d'apprentissage automatique à partir de zéro (version windows10 + Anaconda + VSCode + Tensorflow + GPU)

Après un certain temps, j'ai dû réinstaller le système d'exploitation, j'ai donc reconstruit l'environnement. C'est un mémorandum à l'époque.

Aperçu

Préparation à l'utilisation de la version GPU de Tensorflow

Les éléments sont les suivants.

La version est assez importante. Si vous utilisez une version non prise en charge, vous devrez peut-être la définir séparément ou elle risque de ne pas fonctionner.

·référence

Vérification des capacités Gravo Compute et mise à jour du pilote

Tensorflow semble prendre en charge ceux avec une capacité de calcul de 3,5 ou plus. Le tableau de correspondance peut être trouvé ici [https://developer.nvidia.com/cuda-gpus#compute). Le Gravo sur ce PC est NVIDIA GeForce GTX 1060, donc c'est 6.1.

Si vous pouvez le confirmer, gardez le pilote à jour. Page du pilote: https://www.nvidia.co.jp/Download/index.aspx?lang=jp

Installation de CUDA v10.0

Page de téléchargement pour CUDA v10.0: https://developer.nvidia.com/cuda-10.0-download-archive Lors de la sélection du programme d'installation, sélectionnez «Haute vitesse (recommandé)» et installez par défaut.

À propos, au moment de la rédaction de cet article (2019/11), la v10.2 est la dernière. Cependant, lorsque j'insère la v10.2, Tensorflow semble faire référence au chemin de la v10.0, et j'obtiens l'erreur suivante plus tard.

> python -c "import tensorflow as tf; print(tf.__version__)"
2019-11-28 19:22:20.012829: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_100.dll'; dlerror: cudart64_100.dll not found
2.0.0

Il semble y avoir une solution de contournement, mais je ne l'ai pas essayé avec la priorité sur le fonctionnement pour le moment. Solution de contournement: Procédure supplémentaire lorsque vous souhaitez utiliser CUDA 10.1

Installation de CuDNN

Page de téléchargement de CuDNN: https://developer.nvidia.com/rdp/cudnn-download C'est gratuit, mais l'inscription est obligatoire. Une fois connecté, téléchargez la version suivante pour CUDA.

Download cuDNN v7.6.5 (November 5th, 2019), for CUDA 10.0

CuDNN est un fichier zip, alors décompressez-le et placez-le dans le dossier CUDA. Par défaut, le dossier CUDA est:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\

Installation d'Anaconda

J'ai inclus Anaconda parce que je voulais séparer l'environnement pour le CPU et le GPU. Page DL: https://www.anaconda.com/distribution/

L'Anaconda installé est le suivant. (Vous n'avez pas à vous soucier de la version)

Anaconda 2019.10 for Windows Installer
Python 3.7 version

Ajoutez des variables d'environnement lors de l'installation. (La valeur par défaut n'est pas cochée) Cochez ʻAjouter Anaconda à ma variable d'environnement PATH dans ʻOptions avancées.

Puisque nous avons ajouté des variables d'environnement, il peut être préférable de redémarrer après l'installation.

Création d'un environnement d'exécution (python3.7)

Démarrez Anaconda Navigator.

Liste des programmes → Anaconda3(64-bit) → Anaconda Navigater (Anaconda3)

Une fois lancé, sélectionnez Environnements dans le menu de gauche et appuyez sur Créer. Ici, nous allons créer l'environnement pour un fonctionnement réel.

Appuyez sur Créer pour créer l'environnement.

Lorsque l'environnement est créé, cliquez sur (py37-gpu), puis sur ▶ → sélectionnez ʻOpen Terminal`. Ensuite, Terminal démarrera.

Si vous souhaitez ajouter ultérieurement un package avec pip, etc., suivez cette procédure. (Il semble y avoir un moyen plus simple ...)

Installez Tensorflow

・ Lors de l'utilisation du processeur

> pip install tensorflow

・ Lors de l'utilisation du GPU

> pip install tensorflow-gpu

Vérification

Vérifier Tensorflow

Entrez la commande suivante dans Terminal. (Bon mot)

> python -c "import tensorflow as tf; print(tf.__version__)"

・ Résultat d'affichage de la version du processeur

>python -c "import tensorflow as tf; print(tf.__version__)"
2.0.0

-Résultat d'affichage de la version GPU (la dll doit être réussie)

> python -c "import tensorflow as tf; print(tf.__version__)"
2019-11-28 19:59:12.696817: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll
2.0.0

Vérifier le périphérique GPU (version GPU uniquement)

Entrez la commande suivante dans Terminal.

> python
>>> from tensorflow.python.client import device_lib
>>> device_lib.list_local_devices()

C'est le résultat de l'exécution.

(py37-gpu) C:\Users\poco> python
Python 3.7.5 (default, Oct 31 2019, 15:18:51) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>>
>>> from tensorflow.python.client import device_lib
2019-11-28 21:33:00.714942: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_100.dll
>>>
>>>
>>> device_lib.list_local_devices()
2019-11-28 21:33:05.777537: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2019-11-28 21:33:05.790386: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2019-11-28 21:33:05.813090: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Found device 0 with properties:
name: GeForce GTX 1060 3GB major: 6 minor: 1 memoryClockRate(GHz): 1.7085
pciBusID: 0000:01:00.0
2019-11-28 21:33:05.818802: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU libraries are statically linked, skip dlopen check.
2019-11-28 21:33:05.823869: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Adding visible gpu devices: 0
2019-11-28 21:33:06.275014: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-11-28 21:33:06.279606: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1165]      0
2019-11-28 21:33:06.282091: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0:   N
2019-11-28 21:33:06.285366: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] Created TensorFlow device (/device:GPU:0 with 2108 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1060 3GB, pci bus id: 0000:01:00.0, compute capability: 6.1)
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 15688037898080382701
, name: "/device:GPU:0"
device_type: "GPU"          #Si le GPU est affiché, k
memory_limit: 2210712780
locality {
  bus_id: 1
  links {
  }
}
incarnation: 506641733629436041
physical_device_desc: "device: 0, name: GeForce GTX 1060 3GB, pci bus id: 0000:01:00.0, compute capability: 6.1"
]

Installation et configuration de VSCode

J'utilise VSCode comme IDE. Page DL: https://code.visualstudio.com/

Extentions

Après avoir lancé VSCode, vous pouvez l'ajouter en recherchant chaque nom dans Extensions dans le menu de gauche.

Nom Remarques
Japanese Language Pack for Visual Studio Code Je suis Japonais
Python Pour Python

Sinon, faites ce que vous voulez.

Coopération entre Anaconda et VSCode

Il existe de nombreuses façons de procéder, ce n'est donc qu'un exemple.

1. Créez un dossier

Créez un dossier de travail. Dans VSCode, spécifiez le dossier de travail avec "Fichier-> Ouvrir le dossier".

2. Créez un fichier de test

Ensuite, créez un fichier Python approprié sous le dossier de travail. Décrivez Hello World sous forme de fichier de test.

hello.py


import tensorflow as tf
msg = tf.constant('TensorFlow 2.0 Hello World')
tf.print(msg)

Ensuite, ouvrez ce fichier avec VSCode.

3. Description du fichier de paramètres

Exécutez "Menu-> Déboguer-> Ajouter une configuration-> Fichier Python". Ensuite, launch.json s'ouvrira, alors modifiez-le.

Cependant, je dois vérifier le chemin python avant de le modifier, alors vérifiez-le avec Anaconda. Ouvrez le terminal d'Anaconda et exécutez la commande conda info -e.

(py37-gpu) C:\Users\poco> conda info -e
# conda environments:
#
base                     C:\Users\poco\Anaconda3
py37-cpu                 C:\Users\poco\Anaconda3\envs\py37-cpu
py37-gpu              *  C:\Users\poco\Anaconda3\envs\py37-gpu

Je veux exécuter python dans l'environnement du chemin spécifié ici, donc Après vérification, ajoutez «" pythonPath "» à «launch.json» comme suit.

launch.json


{
    //Vous pouvez utiliser IntelliSense pour apprendre les attributs disponibles.
    //Survolez et affichez la description des attributs existants.
    //Vérifiez les éléments suivants pour plus d'informations: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",

            // ↓ python.Ajouter et ajouter exe
            "pythonPath": "C:\\Users\\poco\\Anaconda3\\envs\\py37-gpu\\python.exe"
        }
    ]
}

Une fois ajouté, enregistrez-le et appuyez sur F5 ou "Debug-> Start Debug" pour voir si hello world peut être exécuté.

ChainerRL

Cette fois, j'utiliserai ChainerRL au lieu de Keras-RL. Parce que la bibliothèque d'apprentissage par renforcement semblait ici plus complète.

installation de pip

Supprimez les packages requis du terminal d'Anaconda. Il s'agit d'un package écrit avant ([Strengthening learning] Open AI Gym × Keras-rl implémentera l'algorithme d'apprentissage de renforcement (préparation)) ..

# ChainerRL
> pip install chainerrl
> pip install cupy-cuda100  //Pour le GPU, 100 est la version, veuillez donc la faire correspondre avec la version CUDE.

# gym
> pip install gym
> pip install --no-index -f https://github.com/Kojoley/atari-py/releases atari_py

#Système d'image
> pip install matplotlib
> pip install pillow
> pip install opencv-python

#statistiques
> pip install pandas

Épilogue

Pour l'instant, la construction de l'environnement est terminée. La prochaine fois, j'aimerais faire un tutoriel ChainerRL.

Recommended Posts

Création d'un environnement d'apprentissage automatique à partir de zéro (version windows10 + Anaconda + VSCode + Tensorflow + GPU)
Reconstruction de l'environnement pour l'apprentissage automatique avec Miniconda (version Windows)
Méthode d'étude pour apprendre le machine learning à partir de zéro (version mars 2020)
Créez un environnement pour "Deep Learning from scratch" avec Docker
J'ai construit un environnement TensorFlow avec windows10
[Windows 10] Construction de l'environnement "Deep Learning from scratch"
[Definitive Edition] Création d'un environnement d'apprentissage "machine learning" à l'aide de Python sous Windows
Construction de l'environnement Python (Anaconda + VSCode) @ Windows10 [version janvier 2020]
Créez un environnement interactif pour l'apprentissage automatique avec Python
Créez un environnement d'apprentissage automatique à partir de zéro avec Winsows 10
J'ai essayé de créer un environnement d'apprentissage automatique avec Python (Mac OS X)
Créer un environnement d'apprentissage automatique à l'aide de Python sur MacOSX
Que diriez-vous d'Anaconda pour créer un environnement d'apprentissage automatique avec Python?
Création d'un environnement Windows 7 pour une introduction à l'apprentissage automatique avec Python
Construction de l'environnement de TensorFlow + JupyterNotebook + Matplotlib sur la version Windows Anaconda (version d'août 2017)
Création d'un environnement pour Anaconda et Jupyter
J'ai facilement créé un environnement d'exploitation pour Python3 + Tornado sur AWS EC2.
[Definitive Edition] Création d'un environnement pour l'apprentissage du «machine learning» à l'aide de Python sur Mac
Réaliser la construction d'environnement pour "Deep Learning from scratch" avec docker et Vagrant
Jusqu'à ce que l'environnement Deep Learning (TensorFlow) utilisant le GPU soit préparé pour Ubuntu 14.04
Une introduction à OpenCV pour l'apprentissage automatique
J'ai créé un environnement Anaconda à l'aide de Docker!
J'ai essayé d'installer TensorFlow (version GPU) sur Ubuntu
Une introduction à Python pour l'apprentissage automatique
Créer un environnement de développement pour l'apprentissage automatique
Création d'un environnement pour "Tello_Video" sous Windows
Préparez l'environnement pour le livre O'Reilly "Deep Learning from scratch" avec apt-get (Debian 8)
Notes de l'installation de Homebrew à la création d'un environnement Anaconda pour Python avec pyenv
Comment installer le framework d'apprentissage en profondeur Tensorflow 1.0 dans l'environnement Windows Anaconda
Une introduction à l'apprentissage automatique pour les développeurs de robots
Pour les débutants à créer un environnement Anaconda. (Note)
Apprentissage automatique à partir de 0 pour les étudiants en physique théorique # 1
Construire un environnement Anaconda pour Python avec pyenv
Apprentissage automatique à partir de zéro (apprentissage automatique appris avec Kaggle)
Apprentissage automatique à partir de 0 pour les étudiants en physique théorique # 2
[CodeIQ] J'ai écrit la distribution de probabilité des dés (du cours de mathématiques CodeIQ pour l'apprentissage automatique [Distribution de probabilités])