我正在尝试在 Keras ( Deepmind Paper ) 中使用 Google Deepminds CGQN 网络的一部分。根据它们向网络提供多少输入图像,网络可以更多地了解它试图预测的 3D 环境。这是他们的网络方案:
我还想像使用 M θ网络一样使用多个输入“图像” 。所以我的问题是:使用 Keras,我如何可以任意次数地重用网络的一部分,然后对它生成的所有输出求和,这些输出将用作网络下一部分的输入?
提前致谢!
您可以使用功能 API来实现这一点,我将在这里给出一个概念证明:
images_in = Input(shape=(None, 32, 32, 3)) # Some number of 32x32 colour images
# think of it as a video, a sequence of images for example
shared_conv = Conv2D(32, 2, ...) # some shared layer that you want to apply to every image
features = TimeDistributed(shared_conv)(images_in) # applies shared_conv to every image
这里TimeDistributed在时间维度上应用给定的层,在我们的例子中,这意味着它适用于每个图像,您将获得每个图像的输出。上面链接的文档中有更多示例,您可以实现一组共享的层/子模型,然后将其应用于每个图像并取减少的总和。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句