【发布时间】:2020-08-25 19:44:18
【问题描述】:
我正在训练一个 Keras 模型。在训练期间,我只使用了 5% 到 20% 的 CUDA 内核和同样小比例的 NVIDIA RTX 2070 内存。模型训练目前非常缓慢,我真的很想利用尽可能多的可用 CUDA 内核来加快速度!
nvidia dmon # (during model training)
# gpu pwr gtemp mtemp sm mem enc dec mclk pclk
# Idx W C C % % % % MHz MHz
0 45 49 - 9 6 0 0 6801 1605
为了提高 CUDA 核心利用率以更快地训练相同的模型,我应该调整哪些参数?
这是我当前图像生成和训练步骤的简化示例(如果需要,我可以详细说明/编辑,但我目前认为这些是解决问题的关键步骤):
train_datagen = ImageDataGenerator(rescale=1./255)
test_datagen = ImageDataGenerator(rescale=1./255)
train_generator = train_datagen.flow_from_directory(
r'./input_training_examples',
target_size=(150, 150),
batch_size=32,
class_mode='binary'
)
validation_generator = test_datagen.flow_from_directory(
r'./input_validation_examples',
target_size=(150, 150),
batch_size=32,
class_mode='binary'
)
history = model.fit(
train_generator,
steps_per_epoch=128, epochs=30,
validation_data=validation_generator, validation_steps=50,
)
硬件:NVIDIA 2070 GPU
平台:Linux 5.4.0-29-generic #33-Ubuntu x86_64、NVIDIA 驱动程序 440.64、CUDA 10.2、Tensorflow 2.2.0-rc3
【问题讨论】:
标签: tensorflow keras nvidia