【问题标题】:tensorflow slim concurrent train and evaluation loops; single devicetensorflow slim 并发训练和评估循环;单个设备
【发布时间】:2018-02-14 04:51:58
【问题描述】:

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

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

有没有一种方法可以为这两个任务管理 1 个 gpu 的资源?想到了 tf.train.Supervisor,但我真的不知道。

【问题讨论】:

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


    【解决方案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())

    【讨论】:

    • 您设想运行两个程序吗?还是一个程序有 2 个会话?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 2017-09-10
    • 1970-01-01
    • 2019-04-05
    • 2017-06-10
    相关资源
    最近更新 更多