Python tensorflow使用所有GPU内存

Python tensorflow使用所有GPU内存,python,tensorflow,Python,Tensorflow,我使用tf.data.Dataset在COCO2014上运行我的网络(输入图像的形状为256、256、3),并按如下方式配置tensorflow会话 sess\u config=tf.ConfigProto(intra\u op\u parallelism\u threads=1, 线程间并行度=1, 允许\u软\u放置=真) sess_config.gpu_options.allow_growth=True sess=tf.Session(config=sess\u config) 我发现这

我使用tf.data.Dataset在COCO2014上运行我的网络(输入图像的形状为
256、256、3
),并按如下方式配置tensorflow会话

sess\u config=tf.ConfigProto(intra\u op\u parallelism\u threads=1,
线程间并行度=1,
允许\u软\u放置=真)
sess_config.gpu_options.allow_growth=True
sess=tf.Session(config=sess\u config)
我发现这将永远消耗我所有的GPU内存(11G)。我甚至尝试如下配置会话

sess\u config=tf.ConfigProto(intra\u op\u parallelism\u threads=1,
线程间并行度=1,
允许\u软\u放置=真)
sess\u config.gpu\u options.per\u进程\u gpu\u内存\u分数=0.4
sess=tf.Session(config=sess\u config)
但仍然使用了所有的GPU内存。为什么会发生这种情况?如何修复它?

1)较小的内存占用:
sess\u config.gpu\u options.per\u进程\u gpu\u内存\u分数=0.1

2) 缩小已处理图像的大小


(256,256,3)
->
(128,128,3)

Tensorflow使用所有GPU内存的原因是我使用了另一个临时的普通
tf.Session()
。尽管此临时会话在使用后立即关闭,但Tensorflow不会释放它分配的GPU内存。解决方案可能是1)不要使用两个会话。2) 将临时会话配置为问题中描述的会话