Я недавно установил тензор потока графического процессора, CUDA и cuDNN на своем ноутбуке, чтобы обучать мои модели, используя мой графический процессор, используя это учебное пособие. Мой ноутбук - Lenovo Ideapad 510 с процессором = i5-7th и графическим процессором = GForce 940MX (4 ГБ). Следуя инструкциям, я установил и настроил все необходимые изменения, необходимые для использования моего графического процессора.
результаты обучения набора данных mnist на графическом процессоре
Каждому эпо c всего за 6 секунд потребовалось собрать 60 000 изображений. И на таблице nvidia-smi
я мог видеть, что моя память GPU была 19MiB. В этом уроке его использование памяти графическим процессором составило 777 МБ.
Затем я попытался запустить свой собственный набор данных и модель, которая имеет 88000 изображений и работает для 10 эпизодов. nvidia-smi
для этого обучения показывает использование GPU как 19MiB. tf.test.is_gpu_available()
также возвращает FALSE.
CNN MODEL
classifier = Sequential()
classifier.add(Conv2D(32, (3, 3), input_shape = (100, 100, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Conv2D(32, (3, 3), activation = 'relu'))
classifier.add(MaxPooling2D(pool_size = (2, 2)))
classifier.add(Flatten())
classifier.add(Dense(units = 128, activation = 'relu'))
classifier.add(Dense(units = 39, activation = 'softmax'))
classifier.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])
from keras.preprocessing.image import ImageDataGenerator
train_datagen = ImageDataGenerator(rescale = 1./255,
shear_range = 0.2,
zoom_range = 0.2,
horizontal_flip = True)
test_datagen = ImageDataGenerator(rescale = 1./255)
training_set = train_datagen.flow_from_directory('train',
target_size = (100,100),
batch_size = 32,
class_mode = 'categorical')
test_set = test_datagen.flow_from_directory('test',
target_size = (100, 100),
batch_size = 32,
class_mode = 'categorical')
classifier.fit_generator(training_set,
steps_per_epoch = 88534,
epochs = 10,
validation_data = test_set,
validation_steps = 1418)
classifier.save('/home/harish/Desktop/asl-alphabet/asl_pred.h5')
Почему я не могу обучать данные быстрее, чем обычный процессор? Как включить GPU для тренировок?