python - 高 GPU 内存使用率但零 volatile gpu-util

标签 python tensorflow gpu nvidia

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

enter image description here

/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)

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

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

非常感谢!

最佳答案

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

如果您不希望这种情况发生,您可以将 allow_growth 设置为 True 并在您需要时将其适本地传递到 config 对象中创建您的 session 。

阅读tf.Sessionconfig.proto了解更多详情。

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

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

enter image description here

关于python - 高 GPU 内存使用率但零 volatile gpu-util,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41692257/

相关文章:

tensorflow - 激活函数的选择

python - 在 Windows 上安装 SciPy

python - 如何在Python中将结构体传递给Linux设备节点?

tensorflow - 在没有 model_fn 源代码的情况下,如何将 "any"模型从磁盘加载到 TensorFlow Estimator 中?

tensorflow - 使用 SyntaxNet/DragNN 从头开始​​训练英语/俄语/...模型需要多长时间?

amazon-web-services - 云端 GPU - 录制游戏

algorithm - 区域距离

python - geodjango + PostGIS = GPL?

python - 导入 opencv 模块

video - 使用 nvidia gpu 提取帧