[PYTHON] [Windows] Mémo pour l'utilisation de Keras sur GPU [Tensorflow-GPU]

Constitution

OS: Windows10 Home Processeur: Intel Core i7-4790 GPU: GTX1660 Super (n'importe quel GPU NVIDIA) Python: 3.6.10 Keras: 2.2.4 Tensorflow: 1.14.0 Cuda: 10.0 numpy: 1.16.4 sklearn: 0.22.2

1. Installez Windows Visual Studio C ++

Page d'installation https://docs.microsoft.com/ja-jp/visualstudio/install/install-visual-studio?view=vs-2019 À partir de là, installez Visual Studio. Cette fois, installez la version 2019. Veillez à sélectionner "Développement de bureau avec des charges de travail C ++" lors de l'installation.

2. Installez le pilote NVIDIA

https://www.nvidia.co.jp/Download/index.aspx?lang=jp Sélectionnez votre GPU à partir de cette URL et téléchargez le pilote NVIDIA. image.png Exécutez le fichier exe téléchargé pour l'installer.

Postscript. Téléchargez et installez le kit d'outils CUDA

https://developer.nvidia.com/cuda-10.0-download-archive

3. Téléchargez cuDNN

https://developer.nvidia.com/rdp/cudnn-download Téléchargez "cuDNN v7.6.5 pour CUDA 10.0" à partir de ce site image.png Ensuite, ouvrez "C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v.10.0" dans le dossier. Il existe trois dossiers, bin, include et lib, dans le dossier décompressé. Enregistrez les fichiers dans bin dans le dossier bin, les fichiers dans include dans le dossier include et les fichiers dans lib dans le dossier lib.

4. Installez tensorflow-gpu

Premièrement, si vous avez installé un tensorflow régulier Doit être désinstallé puis installé.

pip uninstall tensorflow
pip install numpy==1.16.4
pip install tensorflow-gpu==1.14.0
pip install keras==2.2.4
pip install sklearn

Installez également ceux qui sont susceptibles d'être utilisés pour le dessin graphique et le traitement des données. Ci-dessous, vous n'avez pas à l'installer.

pip install matplotlib
pip install pandas
pip install pillow
pip install opencv-python
pip install opencv-contrib-python

5. Vérifiez si la version GPU que Tensorflow reconnaît

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

Je pense qu'une longue phrase sera sortie, C'est OK s'il y a des caractères tels que `device_type:" GPU "` `ʻand name: "/ device: GPU: 0" `` `sur une ligne.

6. Après tout, le test est MNIST.

MNIST est le test. Vérification de la vitesse avec MNIST.

import time
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten
from keras.layers import Conv2D, MaxPooling2D
from keras.optimizers import RMSprop

(x_train, y_train), (x_test, y_test) = mnist.load_data()

model = Sequential()
model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))

x_train = x_train.reshape(x_train.shape[0], 28, 28, 1)
x_test = x_test.reshape(x_test.shape[0], 28, 28, 1)

x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255

y_train = keras.utils.to_categorical(y_train, 10)
y_test = keras.utils.to_categorical(y_test, 10)

start_time = time.time()#Mesure de l'heure de début

model.compile(loss='categorical_crossentropy',
              optimizer=RMSprop(),
              metrics=['accuracy'])

history = model.fit(x_train, y_train,
                    batch_size=128,
                    epochs=10,
                    verbose=1,
                    validation_data=(x_test, y_test))

score = model.evaluate(x_test, y_test, verbose=0)
print('loss:', score[0])
print('accuracy:', score[1])

end_time = time.time() - start_time#Mesurer l'heure de fin
print("Temps d'étude:", str(round(end_time, 3)), "C'était une seconde.")

Résultat de sortie sur la version GPU: 48,13 secondes Résultat de sortie sur la version du processeur: 530,26 secondes

La vitesse était différente de plus de 10 fois! !!

À la fin

J'ai mis en place une machine IA en plongeant Gravo dans un vieux PC car je voulais faire du Deep Learning individuellement. Aussi, si j'ai assez d'argent, j'aimerais utiliser un GPU avec plus de mémoire ou deux coups. à plus.

Recommended Posts

[Windows] Mémo pour l'utilisation de Keras sur GPU [Tensorflow-GPU]
Comment utiliser Dataiku sous Windows
Comment utiliser l'Assistant Google sur Windows 10
Utilisez Ansible sur Windows
Utilisez QuTiP sur Windows
Utiliser pip sur Windows
Un mémorandum sur l'utilisation de keras.preprocessing.image de Keras
Remarques sur l'installation de Chainer 1.5 pour GPU sous Windows
Remarques sur la façon d'utiliser Firefox avec du sélénium sous Windows
Installez Chainer 1.6 (GPU) sur Windows 7.
Utiliser Python sur Windows (PyCharm)
Utiliser Linux sur Windows 10 (WSL2)
Comment utiliser VS Code dans un environnement Venv avec Windows
Utilisez Xming pour lancer une application GUI Ubuntu sous Windows.
Comment utiliser cron (mémo personnel)
Mémo de construction de l'environnement Python sur Windows 10
Python 3.6 sous Windows ... et vers Xamarin.
Remarques sur l'utilisation de pywinauto
Utiliser jupyter sur une instance GPU sur AWS
Comment déployer django-compresseur sous Windows
Remarques sur l'utilisation des featuretools
Comment utiliser l'homebrew dans Debian
Utilisez Tensorflow 2.1.0 avec Anaconda sur Windows 10!
Comment installer Music 21 sur Windows
Exécutez le GPU Radeon sous Windows sur QEMU / KVM
[Mémo] Comment utiliser BeautifulSoup4 (1) Afficher html
[Kivy] Comment installer Kivy sur Windows [Python]
Si vous souhaitez utiliser NumPy, Pandas, Matplotlib, IPython, SciPy sous Windows
Comment utiliser Cmder avec PyCharm (Windows)
Je veux utiliser Linux sur mac
Mémorandum sur l'utilisation du python gremlin
Utiliser sans installer python 2.x sous Windows
Comment installer Richzhang / Colorisation sur Windows 10
Version de juin 2017 pour créer un environnement Tensorflow / Keras sur une instance GPU d'AWS
Installez python sur xserver pour utiliser pip
Notes sur la façon d'exécuter Cython sur OSX
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
Mettez MicroPython sur Windows pour exécuter ESP32 sur Python
Comment utiliser Python Kivy ④ ~ Exécution sur Android ~
Activer la complétion de code sur boto3 avec boto3-stubs
[Python] Mémo pour traduire Matplotlib en japonais [Windows]
Comment installer rapidement h5py sur Windows 10 [non officiel]
Comment vivre une vie décente avec Windows 2017
Je veux faire pyenv + pipenv même sous Windows
[Python] Comment installer OpenCV sur Anaconda [Windows]
Comment installer / vérifier Graphviz sur anaconda / windows10
Étapes pour créer PyTorch 1.5 pour CUDA 10.2 sous Windows
mémo d'introduction tensorflow-gpu
Python sur Windows
[Keras] Mémo personnel pour classer les images par dossier [Python]
Autoriser Keras 2.0 et OpenCV 3.2 à fonctionner dans un environnement GPU
Préparation à l'utilisation de aws cli sur Mac OS X
Remarques sur l'utilisation d'AIST Spacon ABCI
Comment intégrer mod_wsgi dans Apache sur Windows Python
Comment utiliser Keras ~ De la simple génération de modèle à CNN ~
Installez Debian 10 pour utiliser le développement à distance avec Beagle Bone Black
[Construction de l'environnement] @anaconda qui exécute keras / tensorflow sur GPU
Comment utiliser le contrôleur audio C216 sur Arch Linux
Remarques sur la façon d'utiliser lors de la combinaison de pandas.
Pour utiliser TensorFlow sur des GPU inférieurs à Titan
Création d'un environnement TensorFlow qui utilise des GPU sous Windows 10