Keras共享层批量更新:样本如何混合
我通过函数API和model.train_on_批处理选项使用keras共享层,即Keras共享层批量更新:样本如何混合,keras,Keras,我通过函数API和model.train_on_批处理选项使用keras共享层,即 dense_layer = Dense(10, name='dense_1') out1 = dense_layer(input1) out2 = dense_layer(input2) model = Model(input=[input1,input2],output=[out1,out2]) ... model.train_on_batch([x1,x2],[y1,y2]) 问题是:如果我执行model.
dense_layer = Dense(10, name='dense_1')
out1 = dense_layer(input1)
out2 = dense_layer(input2)
model = Model(input=[input1,input2],output=[out1,out2])
...
model.train_on_batch([x1,x2],[y1,y2])
问题是:如果我执行model.train_on_batch(),样本(x1,y1)、(x2,y2)是如何混合的
它们是简单地沿着第一个轴连接还是随机混合?答案是,两者都不是。使用您发布的代码,根据:
将作为第一个输入-x1
并生成第一个输出densite\u层传递。在(0)处获取\u input\u shape\u
densite\u层。在(0)处获取\u output\u
将作为第二个输入传递-x2
并生成第二个输出密集\u层。在(1)处获取\u输入\u形状\u
密集\u层。在(1)处获取\u输出\u
密集层
,将x1
和x2
串联起来,并使用单个输入/输出(无input2
和output2
)
您可以使用一个模型将两个输出减少为一个输出。有不同的合并模式,
concat
是其中之一。答案是,两者都不是。使用您发布的代码,根据:
将作为第一个输入-x1
并生成第一个输出densite\u层传递。在(0)处获取\u input\u shape\u
densite\u层。在(0)处获取\u output\u
将作为第二个输入传递-x2
并生成第二个输出密集\u层。在(1)处获取\u输入\u形状\u
密集\u层。在(1)处获取\u输出\u
密集层
,将x1
和x2
串联起来,并使用单个输入/输出(无input2
和output2
)
您可以使用一个模型将两个输出减少为一个输出。有不同的合并模式,concat
就是其中之一