我最近开始构建自己的小型深度学习设备,配备了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超级卡)
有什么想法吗?
不是您的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保留所有内存。