Syz*_*ygy 7 session keras tensorflow
我需要同时训练多个Keras模型.我正在使用TensorFlow后端.问题是,当我尝试同时训练两个模型时,我得到了Attempting to use uninitialized value.
错误并不是真正相关,主要问题似乎是Keras强迫在同一个会话中使用相同的图创建两个模型,因此它会发生冲突.
我是TensorFlow的新手,但我的直觉是答案很简单:你必须为每个Keras模型创建一个不同的会话,并在他们自己的会话中训练它们.有人可以解释一下它将如何完成?
我真的希望有可能在使用Keras时解决这个问题,而不是在纯TensorFlow中编写所有内容.任何解决方法也将受到赞赏.
小智 0
我使用 python 多处理并行训练多个模型,https://docs.python.org/3.4/library/multiprocessing.html。
我有一个带有两个参数的函数,一个输入队列和一个输出队列,该函数在每个进程中运行。该函数具有以下结构:
def worker(in_queue, out_queue):
import keras
while True:
parameters = in_queue.get()
network_parameters = parameters[0]
train_inputs = parameters[1]
train_outputs = parameters[2]
test_inputs = parameters[3]
test_outputs = parameters[4]
build the network based on the given parameters
train the network
test the network if required
out_queue.put(result)
Run Code Online (Sandbox Code Playgroud)
从主 python 脚本中根据需要启动尽可能多的进程(并创建尽可能多的输入和输出队列)。通过调用其输入队列上的 put 向工作人员添加作业,并通过调用其输出队列上的 get 来获取结果。
| 归档时间: |
|
| 查看次数: |
1029 次 |
| 最近记录: |