【问题标题】:Deep learning CNN eating VRAM深度学习 CNN 吃 VRAM
【发布时间】:2020-01-31 11:51:46
【问题描述】:

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

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

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

这对于处理图像的 CNN 来说是正常的吗?我应该投资更多的 VRam 而不是更快的 GPU(一个多 GPU 系统,有几个用过的 1080 Ti 或 2060 超级卡)

想法?

【问题讨论】:

  • 为什么要限制tensorflow使用的VRAM?

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


【解决方案1】:

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

您可以使用以下代码 sn-p (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 保留所有内存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2020-06-21
    • 2019-12-10
    相关资源
    最近更新 更多