分布式Tensorflow错误/


12345
2025-03-18 08:38:30 (21天前)
  1. 跑步的时候


分散式
</跨度>
设置tensorflow(TF v0.9.0rc0),启动3个参数服务器,然后启动6个工作器。参数服务器看起来很好,给消息启动服务器带有tensorflow的github的目标页面

帐户
</跨度>

设置注意事项:

所有计算机报告Tensorflow版本:0.9.0rc0(python -c“import tensorflow as tf; print(tf . version);”),
虽然有一些可能是有效的

2 条回复
  1. 0# Moso31 | 2019-08-31 10-32



    我弄清楚我的问题是什么。




    TL; DR
    </强>
    :首席需要了解

    所有

    变量以初始化它们

    所有

    。非首席工作人员无法创建自己的变量。



    我正在转换一个旧程序,其中所有工作人员都有一些自变量,但需要共享一些变量(我使用ZMQ传递这些)到分布式TensorFlow设置,并忘记初始化所有工作人员的所有变量。我有类似的东西



    1.   # Create worker specific variable
    2. with tf.variablescope(“world{}”.format(worker_id)):
      w1 = tf.get_variable(“weight”, shape=(input_dim, hidden_dim), dtype=tf.float32, initializer=tf.truncated_normal_initializer())

    3. </code>


    而不是做这样的事情:



    1.   # Create all worker specific variables
    2. allw1 = {}
      for worker in worker_cnt:
      with tf.variable_scope(“world
      {}”.format(worker_id)):
      all_w1[worker] = tf.get_variable(“weight”, shape=(input_dim, hidden_dim), dtype=tf.float32, initializer=tf.truncated_normal_initializer())

    3. grab worker specific variable

      w1 = all_w1[worker_id]

    4. </code>




    至于错误……



    我怀疑这导致一些工人死于此

    Master init: Unavailable:

    上面的错误信息,因为主管从来不知道工人想要创建的变量。



    我没有一个可靠的解释为什么设备不可用(第三)错误没有找到该设备,但我认为它再次,因为只有主人可以创建它,他不知道新的变量。



    第一个错误似乎是因为计算机在失败后还没准备好说话,因为我在修复后没有看到错误。如果我杀了一个工人并重新启动他,我仍然会看到它,但如果它们一起启动它似乎不是问题。





    无论如何,我希望如果有人在以后遇到同样的错误,这会有所帮助。


登录 后才能参与评论