【问题标题】:Distributed TensorFlow: Create a session in only one worker to print the results分布式 TensorFlow:仅在一个工作人员中创建会话以打印结果
【发布时间】:2017-11-06 12:01:47
【问题描述】:

我只需要打印一些在训练中分配的全局变量的值。关闭“MonitoredTrainingSession”后,我只使用以下方法在首席工人中创建了一个会话:

    if FLAGS.task_index == 0:
        with tf.Session() as sess:
            print sess.run(some_variable)

但是我不断收到错误:

InvalidArgumentError(有关回溯,请参见上文):无法将设备分配给节点“save/RestoreV2_20”:无法满足明确的设备规范“/job:ps/task:0/device:CPU:0”,因为没有匹配的设备规范在此过程中注册;可用设备:/job:localhost/replica:0/task:0/cpu:0

知道怎么做吗?

【问题讨论】:

    标签: python tensorflow


    【解决方案1】:

    可用设备:/job:localhost/replica:0/task:0/cpu:0

    它建议您应该使用您创建的服务器。在创建会话时尝试传递server.target

    with tf.Session(server.target) as sess:
        print sess.run(some_variable)
    

    【讨论】:

    • 您仍然需要过滤任务索引
    • 这仅适用于非首席员工(例如使用过滤器'if FLAGS.task_index == 1')。但是,当我与首席工作人员('if FLAGS.task_index == 0')一起这样做时,它会一直等待其他工作人员的响应..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多