在进程之间共享张量流模型
Sharing tensorflow model between processes
我在一台服务器上有几个进程 运行,其中一个正在用 tensorflow 训练模型。我希望培训师定期将当前模型发送到其他进程。我现在这样做的方法是使用通常的 Saver
class 可以 save
和 restore
从磁盘。
但是,我认为这种形式的 IPC 效率很低,并且可能导致服务器上的文件系统锁定。如果有办法将变量序列化为一些 blob,我可以通过 zmq 广播管道发送它,但我没有在文档中找到它。
或者,分布式张量流可能可以胜任这项任务,但我认为我不需要这么复杂的东西。
您可以预先共享架构,然后在您喜欢的每个步骤中使用 tf.get_collection(tf.GraphKeys.VARIABLES)
,然后 运行 它来获取值,然后您可以在另一个位置使用 variable.assign
结束以加载适当变量中的值。
我在一台服务器上有几个进程 运行,其中一个正在用 tensorflow 训练模型。我希望培训师定期将当前模型发送到其他进程。我现在这样做的方法是使用通常的 Saver
class 可以 save
和 restore
从磁盘。
但是,我认为这种形式的 IPC 效率很低,并且可能导致服务器上的文件系统锁定。如果有办法将变量序列化为一些 blob,我可以通过 zmq 广播管道发送它,但我没有在文档中找到它。
或者,分布式张量流可能可以胜任这项任务,但我认为我不需要这么复杂的东西。
您可以预先共享架构,然后在您喜欢的每个步骤中使用 tf.get_collection(tf.GraphKeys.VARIABLES)
,然后 运行 它来获取值,然后您可以在另一个位置使用 variable.assign
结束以加载适当变量中的值。