gpt4 book ai didi

python - GPU 仅被使用 1-5% Tensorflow-gpu 和 Keras

转载 作者:太空狗 更新时间:2023-10-30 00:42:45 25 4
gpt4 key购买 nike

我刚刚为 gpu 安装了 tensorflow,正在为我的 CNN 使用 keras。在训练期间,我的 GPU 只使用了大约 5%,但是在训练期间使用了 6gb 的 vram 中的 5 个。有时它会出现故障,在控制台中打印 0.000000e+00 并且 gpu 达到 100%,但几秒钟后训练速度减慢到 5%。我的 GPU 是 Zotac gtx 1060 mini,我使用的是 Ryzen 5 1600x。

Epoch 1/25
121/3860 [..............................] - ETA: 31:42 - loss: 3.0575 - acc: 0.0877 - val_loss: 0.0000e+00 - val_acc: 0.0000e+00Epoch 2/25
121/3860 [..............................] - ETA: 29:48 - loss: 3.0005 - acc: 0.0994 - val_loss: 0.0000e+00 - val_acc: 0.0000e+00Epoch 3/25
36/3860 [..............................] - ETA: 24:47 - loss: 2.9863 - acc: 0.1024

最佳答案

通常,我们希望瓶颈出现在 GPU 上(因此利用率为 100%)。如果没有发生这种情况,则说明您的代码的其他部分在每次批处理过程中都花费了很长时间。很难说它是什么(特别是因为您没有添加任何代码),但是您可以尝试一些事情:

<强>1。输入数据

确保网络的输入数据始终可用。从磁盘读取图像需要很长时间,因此使用多个 workermultiprocessing 接口(interface):

model.fit(..., use_multiprocessing=True, workers=8)

<强>2。强制模型进入GPU

这几乎不是问题,因为 /gpu:0 是默认设备,但值得确保您在预期设备上执行模型:

with tf.device('/gpu:0'):
x = Input(...)
y = Conv2D(..)
model = Model(x, y)

<强>2。检查模型的尺寸

如果您的批处理大小很大并且允许软放置,则您的网络部分(不适合 GPU 的内存)可能会放置在 CPU 上。这大大减慢了这个过程。

如果软放置开启,尝试禁用并检查是否抛出内存错误:

# make sure soft-placement is off
tf_config = tf.ConfigProto(allow_soft_placement=False)
tf_config.gpu_options.allow_growth = True
s = tf.Session(config=tf_config)
K.set_session(s)

with tf.device(...):
...

model.fit(...)

如果是这种情况,请尝试减小批处理大小直到它适合并为您提供良好的 GPU 使用率。然后再次打开软放置。

关于python - GPU 仅被使用 1-5% Tensorflow-gpu 和 Keras,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47462114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com