我最近开始构建自己的小型深度学习设备,配备了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超级卡)上进行投资吗?
有想法吗?
答案 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保留所有内存。