[PYTHON] [Windows] Memo zur Verwendung von Keras auf der GPU [Tensorflow-GPU]

Verfassung

OS: Windows10 Home CPU: Intel Core i7-4790 GPU: GTX1660 Super (jede NVIDIA-GPU) Python: 3.6.10 Keras: 2.2.4 Tensorflow: 1.14.0 Cuda: 10.0 numpy: 1.16.4 sklearn: 0.22.2

1. Installieren Sie Windows Visual Studio C ++

Installationsseite https://docs.microsoft.com/ja-jp/visualstudio/install/install-visual-studio?view=vs-2019 Installieren Sie von hier aus Visual Studio. Installieren Sie dieses Mal die Version 2019. Stellen Sie sicher, dass Sie während der Installation "Desktop-Entwicklung mit C ++ - Workloads" auswählen.

2. Installieren Sie den NVIDIA-Treiber

https://www.nvidia.co.jp/Download/index.aspx?lang=jp Wählen Sie Ihre GPU unter dieser URL aus und laden Sie den NVIDIA-Treiber herunter. image.png Führen Sie die heruntergeladene exe-Datei aus, um sie zu installieren.

Postscript. Laden Sie das CUDA-Toolkit herunter und installieren Sie es

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

3. Laden Sie cuDNN herunter

https://developer.nvidia.com/rdp/cudnn-download Laden Sie "cuDNN v7.6.5 für CUDA 10.0" von dieser Site herunter image.png Öffnen Sie dann "C: \ Programme \ NVIDIA GPU Computing Toolkit \ CUDA \ v.10.0" im Ordner. Der entpackte Ordner enthält drei Ordner, bin, include und lib. Speichern Sie die Dateien in bin im Ordner bin, die Dateien in include im Ordner include und die Dateien in lib im Ordner lib.

4. Tensorflow-GPU installieren

Erstens, wenn Sie einen regulären Tensorflow installiert haben Muss deinstalliert und dann installiert werden.

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

Installieren Sie diejenigen, die wahrscheinlich für das Zeichnen von Grafiken und die Datenverarbeitung verwendet werden. Unten müssen Sie es nicht installieren.

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

5. Überprüfen Sie, ob die GPU-Version Tensorflow erkennt

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

Ich denke, ein langer Satz wird ausgegeben, Es ist in Ordnung, wenn in einer Zeile Zeichen wie `Gerätetyp:" GPU "` und Name: "/ Gerät: GPU: 0" `stehen.

6. Immerhin ist der Test MNIST.

MNIST ist der Test. Geschwindigkeitsüberprüfung mit 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()#Startzeitmessung

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#Messen Sie die Endzeit
print("Lernzeit:", str(round(end_time, 3)), "Es war eine Sekunde.")

Ausgabeergebnis bei GPU-Version: 48,13 Sekunden Ausgabeergebnis bei CPU-Version: 530,26 Sekunden

Die Geschwindigkeit war mehr als 10 Mal anders! !!

Am Ende

Ich habe eine KI-Maschine eingerichtet, indem ich Gravo in einen alten PC getaucht habe, weil ich Deep Learning individuell durchführen wollte. Wenn ich genug Geld habe, möchte ich auch eine GPU mit mehr Speicher oder zwei Stabs verwenden. wir sehen uns.

Recommended Posts

[Windows] Memo zur Verwendung von Keras auf der GPU [Tensorflow-GPU]
Verwendung von Dataiku unter Windows
So verwenden Sie Google Assistant unter Windows 10
Verwenden Sie Ansible unter Windows
Verwenden Sie QuTiP unter Windows
Verwenden Sie pip unter Windows
Ein Memorandum zur Verwendung von Keras 'keras.preprocessing.image
Hinweise zur Installation von Chainer 1.5 für GPU unter Windows
Hinweise zum Betrieb von Firefox mit Selen unter Windows
Installieren Sie Chainer 1.6 (GPU) unter Windows 7.
Verwenden Sie Python unter Windows (PyCharm)
Verwenden Sie Linux unter Windows 10 (WSL2)
Verwendung von VS-Code in einer venv-Umgebung mit Windows
Verwenden Sie Xming, um eine Ubuntu-GUI-Anwendung unter Windows zu starten.
Verwendung von cron (persönliches Memo)
Python-Umgebungskonstruktionsnotiz unter Windows 10
Python 3.6 unter Windows ... und zu Xamarin.
Hinweise zur Verwendung von Pywinauto
Verwenden Sie jupyter für eine GPU-Instanz in AWS
So stellen Sie den Django-Kompressor unter Windows bereit
Hinweise zur Verwendung von featuretools
Wie benutzt man Homebrew in Debian?
Verwenden Sie Tensorflow 2.1.0 mit Anaconda unter Windows 10!
So installieren Sie Musik 21 unter Windows
Führen Sie die Radeon-GPU unter Windows unter QEMU / KVM aus
[Memo] Verwendung von BeautifulSoup4 (1) HTML anzeigen
[Kivy] So installieren Sie Kivy unter Windows [Python]
Wenn Sie NumPy, Pandas, Matplotlib, IPython, SciPy unter Windows verwenden möchten
Verwendung von Cmder mit PyCharm (Windows)
Ich möchte Linux auf dem Mac verwenden
Memorandum über die Verwendung von Gremlin Python
Verwenden Sie es, ohne Python 2.x unter Windows zu installieren
So installieren Sie Richzhang / Colorization unter Windows 10
Version vom Juni 2017 zum Erstellen einer Tensorflow / Keras-Umgebung auf einer GPU-Instanz von AWS
Installieren Sie Python auf xserver, um pip zu verwenden
Hinweise zum Ausführen von Cython unter OSX
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Setzen Sie MicroPython unter Windows ein, um ESP32 unter Python auszuführen
Verwendung von Python Kivy ④ ~ Ausführung unter Android ~
Aktivieren Sie die Code-Vervollständigung auf boto3 mit boto3-Stubs
[Python] Memo zur Übersetzung von Matplotlib ins Japanische [Windows]
So installieren Sie h5py schnell unter Windows 10 [Inoffiziell]
Wie man mit 2017 Windows ein anständiges Leben führt
Ich möchte pyenv + pipenv auch unter Windows machen
[Python] So installieren Sie OpenCV unter Anaconda [Windows]
So installieren / überprüfen Sie graphviz unter anaconda / windows10
Schritte zum Erstellen von PyTorch 1.5 für CUDA 10.2 unter Windows
Tensorflow-GPU Einführungsnotiz
Python unter Windows
[Keras] Persönliches Memo zum Klassifizieren von Bildern nach Ordner [Python]
Lassen Sie Keras 2.0 und OpenCV 3.2 in einer GPU-Umgebung arbeiten
Vorbereiten der Verwendung von aws cli unter Mac OS X.
Hinweise zur Verwendung von AIST Spacon ABCI
So binden Sie mod_wsgi in Apache unter Python Windows ein
Verwendung von Keras ~ Von der einfachen Modellgenerierung bis zum CNN ~
Installieren Sie Debian 10, um Remote Development mit Beagle Bone Black zu verwenden
[Umgebungskonstruktion] @anaconda, die Keras / Tensorflow auf der GPU ausführt
Verwendung von C216 Audio Controller unter Arch Linux
Hinweise zur Verwendung beim Kombinieren von pandas.DataFrame
Verwendung von TensorFlow auf GPUs unter Titan
Erstellen einer TensorFlow-Umgebung, die GPUs unter Windows 10 verwendet