我正在尝试使用keras建立一个非常规的神经网络,但是在有效地设置它方面遇到了麻烦。
前几层是标准卷积层,它们的输出具有d通道,每个通道的图像形状为n x n。
我想做的是使用单个密集层将此d x n x n张量映射到大小为n x n的单个图像上。我想定义一个单一的密集层,其输入大小为d,输出大小为1,并将此功能应用于输入上的每个“像素”(输入是在整个通道的深度方向上进行的)。
到目前为止,我还没有找到有效的解决方案。我尝试过先定义一个完全连接的层,然后遍历输入中的每个“像素”,但是初始化模型需要花费很多时间,而且我担心这样做会降低反向传播的速度,因为计算可能无法正确并行化
有有效的方法吗?
答案 0 :(得分:0)
您要描述的是输出深度为1的1x1卷积。您可以像实现其余卷积层一样实现它。之后,您可能需要应用tf.squeeze
来删除深度,深度应为1。