未来版本的tensorflow是否会提供一种方法来运行单节点tf.sess在具有多个ps节点和工作节点的分布式环境中通过python接口生成的张量流图? 或者现在是否支持?
我正在尝试在我的笔记本(单节点)上构建我的tf.graph并将图形保存到二进制文件中, 然后将二进制图加载到分布式环境(具有乘法ps和工作节点)以训练和验证它。现在似乎不支持它。
我在tensorflow-0.10上试过但失败了。 使用
tf.train.write_graph(sess.graph_def, path, pb_name)
界面:保存的图表无法训练,因为根据.pb
文件加载import_graph_def
g.create_ops
文件只会.bp
,但不会添加到{{1} }}。因此加载的图形不可训练。
使用ops.collections
保存tf.saver.save
文件:由于设备分配混乱,加载的图形无法适应分布式环境。
我试过了
.meta
界面让负载清理原始设备分配并让tf.train.import_meta_graph('test_model.meta', clear_devices=True)
为每个变量重新分配设备,但是存在问题,因为属于with tf.device(device_setter)
和Saver
的操作仍然可以没有正确分配。在Restore
调用的Saver
内Restore
g.create_op
内创建import_graph_def
和import_meta_graph
操作的操作时,device_setter不会将ps节点分配给这些操作,因为它们的名称是不是Variable
。
有没有办法这样做?