跨进程共享 tensorflow/keras 模型

dtr*_*ers 5 python keras tensorflow

我拥有的是一个系统,我从一个模型中连续读取 3-4 个独立过程中的预测。

这是用于强化学习的视频游戏,所以我不能做工人/数据队列

然后我想在更新权重后将操作/奖励发送到中央进程进行学习,所有其他进程也需要更新权重。

我看过 https://www.tensorflow.org/deploy/distributed https://clusterone.com/blog/2017/09/13/distributed-tensorflow-clusterone/

大多数示例在训练是在分布式机器上的情况下做相反的事情。

如何设置任务工作人员,使他们正在运行的任务只是预测步骤而不是训练步骤?

train_step = (
            tf.train.AdamOptimizer(learning_rate)
            .minimize(loss, global_step=global_step)
            )
Run Code Online (Sandbox Code Playgroud)

在我的情况下不起作用,除非我可以在它之外获取数据。

此外,每个进程都是在我的控制之外创建的,因此 tensorflow 无法创建进程。

类似于这个问题: 如何并行运行多个Keras神经网络

但是这个问题没有答案,它基于我的 tensorflow 上的 thaneos。

也与此类似: 在多线程中运行 Keras 模型进行预测

但我的是在单独的进程而不是线程