GPUとCPUでのディープラーニング処理速度を比較するため、AnacondaでCPUとGPUでTensorflowを使える仮想環境を構築しました。
◆環境
Windows10 64bit
NVIDIA GeForce GTX 1650
Microsoft Visual Studio C++ 2019
CUDA v10.0
cuDNN 7.4
<AnacondaでGPUを使う仮想環境> "gpuEnv"
python 3.6
TensorFlow-GPU 2.0.0
Keras 2.3.1
<AnacondaでGPUを使う仮想環境> "cpuEnv"
python 3.7.7
TensorFlow 2.1.0
Keras 2.3.1
上記の仮想環境(gpuEnv, cpuEnv)で下記のシンプルなMNIST_Datasetの学習をさせてみました。
MNISTdataset
1# TensorflowにGPUが認識されているか確認する 2import tensorflow as tf 3if tf.test.gpu_device_name(): 4 print('Default GPU Device: {}'.format(tf.test.gpu_device_name())) 5else: 6 print("Please install GPU version of TF") 7 8from tensorflow import keras 9import numpy as np 10 11fashion_mnist = keras.datasets.fashion_mnist 12(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data() 13train_images = train_images/225.0 14test_images = test_images/225.0 15 16model = keras.Sequential([ 17 keras.layers.Flatten(input_shape=(28,28)), 18 keras.layers.Dense(units=128, activation="relu"), 19 keras.layers.Dense(units=10, activation="softmax") 20]) 21model.compile(optimizer='adam', 22 loss='sparse_categorical_crossentropy', 23 metrics=['accuracy']) 24# 学習実行 25model.fit(train_images, train_labels, epochs=1)
以下、各仮想環境の出力コンソールです。CPUよりGPUの方が処理時間が長いのがわかります。
考えられる原因はなんでしょうか。当方初心者で恐縮ですが是非皆様の知恵をお借りしたく。
gpuEnv
1> Default GPU Device: /device:GPU:0 # GPUが認識されている 2 3> Train on 60000 samples 4> 60000/60000 [==============================] - 4s 64us/sample - loss: 0.4982 - accuracy: 0.8250 5> <tensorflow.python.keras.callbacks.History at 0x1a395e48e48>
cpuEnv
1> Please install GPU version of TF # GPUが認識されていない 2 3> Train on 60000 samples 4> 60000/60000 [==============================] - 2s 38us/sample - loss: 0.4913 - accuracy: 0.8275 5> <tensorflow.python.keras.callbacks.History at 0x29ae6374188>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/15 10:50
2020/11/15 11:45