keras - 重复部分 Keras 模型,取决于输入的数量
问题描述
我正在尝试在 Keras(Deepmind 论文)中使用 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在时间维度上应用给定层,在我们的例子中,这意味着它适用于每个图像,您将获得每个图像的输出。上面链接的文档中有更多示例,您可以实现一组共享的层/子模型,然后将其应用于每个图像并获取减少的总和。
推荐阅读
- flutter - 颤振如何打开带有参数的页面
- terraform - 具有多个源和构建操作的 AWS Codepipeline
- node.js - 存储 NodeJS 服务器请求和响应以供以后使用
- reactjs - 如何在 ReactJS recharts 中创建一个空圆圈?
- vb.net - 如何将两个 List(of T) 与 compareTo() 进行比较并将更改保存到新 List?
- bash - 在 bash 脚本中添加 '(' 字符的 bash 语法错误
- arrays - 由于 redim 数组,下标超出范围错误
- json - 在多个场景中调用同一个端点
- html - 您如何在不定向到新页面的情况下快速发回一些数据
- jquery - 无法使用 Yarn 在 Rails 上加载 jQuery 插件