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.
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
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
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
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\
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.
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 ...)
・ Lors de l'utilisation du processeur
> pip install tensorflow
・ Lors de l'utilisation du GPU
> pip install tensorflow-gpu
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
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"
]
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.
Il existe de nombreuses façons de procéder, ce n'est donc qu'un exemple.
Créez un dossier de travail. Dans VSCode, spécifiez le dossier de travail avec "Fichier-> Ouvrir le dossier".
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.
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.
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
Pour l'instant, la construction de l'environnement est terminée. La prochaine fois, j'aimerais faire un tutoriel ChainerRL.