Новичок ie для машинного обучения здесь. Сейчас я тренирую довольно простую модель из учебника, используя набор данных fashion_mnist на Win10. Однако учебный процесс занял очень много времени, и я даже не закончил его. Но я использовал тот же код в системе моего друга Linux, это заняло менее 1 минуты.
Я пытался исследовать проблему, но настройки и среда на моем компьютере казались нормальными.
import tensorflow as tf
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())
print(tf.test.is_built_with_cuda())
С результатом:
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 13701120911614314629
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 3061212774
locality {
bus_id: 1
links {
}
}
incarnation: 7589776483736281928
physical_device_desc: "device: 0, name: GeForce GTX 1650, pci bus id: 0000:01:00.0, compute capability: 7.5"
]
True
Но проблема почти 0% GPU-Util, но высокий уровень использования памяти GPU.
C:\Users\Herr LU>nvidia-smi
Mon Apr 06 16:36:53 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 442.19 Driver Version: 442.19 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 1650 WDDM | 00000000:01:00.0 Off | N/A |
| N/A 64C P0 18W / N/A | 3256MiB / 4096MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 22728 C ...al\Programs\Python\Python37\pythonw.exe N/A |
+-----------------------------------------------------------------------------+
C:\Users\Herr LU>
Вот код:
#shoes recognition
import tensorflow as tf
from tensorflow import keras
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
#import dataset of clothes, return a path
mnist = keras.datasets.fashion_mnist
#seperate training data and testing data, which is already accomplished
(training_images, training_labels), (test_images, test_labels) = mnist.load_data()
import matplotlib.pyplot as plt
#show the array in pictures,cmap=colormap
#plt.imshow(training_images[0])
#print(training_labels[0])
#print(training_images[0])
with tf.device('/device:gpu:0'):
#normalizing the color value to 0~1
training_images = training_images/255.0
test_images = test_images/255.0
#Build a model
model=keras.Sequential([keras.layers.Flatten(),
keras.layers.Dense(128,activation=tf.nn.relu),
keras.layers.Dense(10,activation=tf.nn.softmax)])
#Compile the model with an optimzer and a loss function
model.compile(optimizer = keras.optimizers.Adam(),
loss = 'sparse_categorical_crossentropy',
metrics = ['accuracy'])
#train the model with data
model.fit(training_images, training_labels, epochs=5)
#evaluate the model
model.evaluate(test_images, test_labels)
Что я должен сделать, чтобы решить эту проблему?