深度学习CNN吃VRAM

时间:2020-01-31 11:51:46

标签: tensorflow deep-learning neural-network conv-neural-network

我最近开始构建自己的小型深度学习设备,配备了ryzen 5 3600处理器,32gb ram和GPU是具有8gp VRam的RTX 2080 SUPER

当使用带有Tensorflow的CNN(这是我的大部分工作)时,我发现大多数VRam几乎立即被吃光(7.8中使用了7.8gb),而GPU利用率约为35%

我已经安装了最新的驱动程序并运行CUDA v 10.0,以便与tesnofrflow v2兼容

使用图像的CNN是否正常?我应该在VRam上投入更多资金而不是在更快的GPU(多GPU系统上使用几张使用过的1080 Ti或2060超级卡)上进行投资吗?

有想法吗?

1 个答案:

答案 0 :(得分:1)

不是您的CNN占用了GPU,而是Tensorflow。默认情况下,即使代码不需要,Tensorflow也会在运行代码之前占用所有可用的GPU内存。

使用以下代码片段(GPU 0,TF2。*),可以使Tensorflow仅占用所需的内存:

import tensorflow as tf
gpu_devices = tf.config.experimental.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(gpu_devices[0], True)

set_memory_growth选项可防止Tensorflow保留所有内存。