【问题标题】:High GPU Memory-Usage but zero volatile gpu-util高 GPU 内存使用但零易失性 gpu-util
【发布时间】:2017-06-01 05:28:39
【问题描述】:

我的新训练代码占用了很高的 GPU 内存使用率,但易失性 gpu-util 为零

/home/diana/data/KaggleDiabeticRetinopaI tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with     properties: 
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.835
pciBusID 0000:05:00.0
Total memory: 7.92GiB
Free memory: 7.81GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlowdevice (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:05:00.0)

我正在尝试一个新的数据生成器,而旧的运行 volatile gpu-util 为 10%,所以环境或 tensorflow 版本不会是关键问题

所以我想知道是否有人可以告诉我代码中的哪个元素可能导致这个问题?

非常感谢!

【问题讨论】:

    标签: python tensorflow gpu nvidia


    【解决方案1】:

    默认情况下,Tensorflow 在您创建会话时会预先分配所有可用的 VRAM,无论是否实际需要。 0% volatile GPU-util 仅表明 GPU 上实际上没有“运行”(没有活动内核)。

    如果您不希望这种情况发生,您可以在创建会话时将allow_growth 设置为True 并在config 对象中适当地传递它。

    阅读tf.Session和config.proto了解更多详情。

    编辑:这就是您将allow_growth 设置为True 的方式

    session = tf.Session(config=tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True)))
    

    【讨论】:

      猜你喜欢
      • 2018-04-28
      • 1970-01-01
      • 2019-08-17
      • 2022-10-15
      • 2017-09-17
      • 1970-01-01
      • 2018-11-25
      • 2012-03-15
      • 2020-11-08
      相关资源
      最近更新 更多