张量流量减少并发列车和评估循环;单个设备

时间:2017-09-05 20:08:20

标签: python-2.7 tensorflow tensorflow-gpu tf-slim

我感兴趣的是使用tensorflow slim库(tf.contrib.slim)在训练期间定期评估(n)(整个)测试集上的模型性能。文档很清楚,slim.evaluation.evaluation_loop是要走的路,它看起来很有希望。问题是我没有备用的第二个gpu,这个模型参数占用了整个gpu的内存,我想做并发评估。

例如,如果我有2个GPU,我可以运行一个python脚本,在第一个gpu上以“slim.learning.train()”结尾,另一个以“slim.evaluation.evaluation_loop()”结束第二个gpu。

是否有一种方法可以管理两个任务的1个gpu资源? tf.train.Supervisor浮现在脑海中,但我老实说不知道。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码对GPU使用情况进行分区。

您可以分别设置用于训练和评估的GPU分数。下面的代码意味着该过程被给予30%的内存。 gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3000) sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) sess.run(tf.app.run())