在写tf.GPUOptions之前有必要提一下tf.ConfigProto。tf.ConfigProto一般在tf建立session的时候,以config的参数传入的方式来进行session的配置。而tf.GPUOptions是作为tf.ConfigProto的参数来限制GPU资源的利用。
tf.GPUOptions使用
当多人使用同一服务器,若是一个人占用了所有GPU资源,这就有点不合适了。。。
以下两种方法可以合理的并行分配资源,多人使用训练互不打扰。
1.动态申请显存
with tf.Graph().as_default(), tf.Session(config=tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True))) as sess:
#config=tf.ConfigProto(gpu_options=tf.GPUOptions(allow_growth=True)) for automatically applying the GPU memory
# Placeholders
# inside of sess......
2.给GPU的显存利用率设置阈值
with tf.Graph().as_default(), tf.Session(config=tf.ConfigProto(gpu_options=tf.GPUOptions(per_process_gpu_memory_fraction=0.7))) as sess:
# Placeholders
# inside of sess......
除了以上方法还可以简单粗暴的在Python源文件运行的时候指定GPU IDCUDA_VISIBLE_DEVICES=1 python test.py
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。