【问题标题】:Tensorflow Model parallelism errorTensorflow 模型并行性错误
【发布时间】:2017-12-13 13:40:33
【问题描述】:

我实际上想在 tensorflow 中自动实现模型并行性。

我在1.3版本的placement code(simple_placer.cc)中稍微修正了tensorflow的代码。然而,放置在 MNIST 的情况下是有效的,但它在开始时有错误。

InvalidArgumentError (see above for traceback): Trying to access resource located in device /job:worker/replica:0/task:1/cpu:0 from device /job:worker/replica:0/task:0/cpu:0

我想获得有关此错误的一些建议,例如何时出现错误或导致此错误的条件。

谢谢。

【问题讨论】:

    标签: tensorflow


    【解决方案1】:

    此错误通常发生在某些操作尝试读取其中一个输入时,但该输入恰好位于另一台设备上。通常,当 tensorflow 在不同的设备上进行操作时,它会将 send/recv 节点插入到执行图中,以在这些设备之间交换张量。您的更改可能破坏了某些逻辑。

    【讨论】:

    • 感谢您回答我的问题。可能存在输入节点在机器1(M1)中的情况,数据在M1,M2等中分离。然后当输入节点访问M1中的数据时没有错误,但是当输入节点访问时M2或其他机器上的数据,会出现我提到的错误,对吗?
    • 那么有没有办法在每台有输入数据的机器上添加对应输入节点的recv/send节点呢?
    • 当然有一种方法——今天处理 GPU 和 CPU(即使在同一台机器上)也能正常工作。我不知道该代码足以提出任何具体的建议,我的猜测是这是一个非常困难的项目。此外,该 C++ 代码不是公共 API 的一部分,随时可能更改。即使你今天设法让它工作,明天它也可能坏掉。我建议尝试在 python 中进行更高级别的工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 2018-07-24
    • 1970-01-01
    • 2018-08-30
    相关资源
    最近更新 更多