Keras模型的重复部分,取决于输入的数量

Keras模型的重复部分,取决于输入的数量,keras,Keras,我试图在Keras()中使用Google Deepminds CGQN网络的一部分。根据他们向网络提供的输入图像的多少,网络对其试图预测的3D环境有更多的了解。以下是他们的网络方案: 我还想使用多输入“图像”,就像Mθ网络一样。所以我的问题是:使用Keras,我如何能够重用网络的一部分任意次数,然后将它生成的所有输出相加,作为网络下一部分的输入 提前谢谢 您可以使用来实现这一点,我只在这里提供一个概念证明: images_in=Input(shape=(None,32,32,3))#一些32x

我试图在Keras()中使用Google Deepminds CGQN网络的一部分。根据他们向网络提供的输入图像的多少,网络对其试图预测的3D环境有更多的了解。以下是他们的网络方案:

我还想使用多输入“图像”,就像Mθ网络一样。所以我的问题是:使用Keras,我如何能够重用网络的一部分任意次数,然后将它生成的所有输出相加,作为网络下一部分的输入


提前谢谢

您可以使用来实现这一点,我只在这里提供一个概念证明:

images_in=Input(shape=(None,32,32,3))#一些32x32彩色图像
#把它想象成一个视频,例如一系列图像
shared_conv=Conv2D(32,2,…)#要应用于每个图像的某个共享层
features=TimeDistributed(shared_conv)(images_in)#将shared_conv应用于每个图像

这里在时间维度上应用一个给定的层,在我们的例子中,这意味着它应用于每个图像,并且您将获得每个图像的输出。上面链接的文档中有更多的示例,您可以实现一组共享的层/子模型,然后将其应用于每个图像,并采用减少的总和。

您还可以解释一下,最聪明的方法是对时间分布的输出进行总和吗?
Lambda(Lambda x:K.sum(x,axis=[axis you want sum over])(功能)
,对轴心上的某些人来说,类似的东西是可行的。这确实是我所拥有的,但我认为keras可能有一个内置的方法。无论如何,谢谢!