如何将单个完全连接的图层应用于图像中的每个点

时间:2019-04-09 18:02:27

标签: python tensorflow machine-learning keras

我正在尝试使用keras建立一个非常规的神经网络,但是在有效地设置它方面遇到了麻烦。

前几层是标准卷积层,它们的输出具有d通道,每个通道的图像形状为n x n。

我想做的是使用单个密集层将此d x n x n张量映射到大小为n x n的单个图像上。我想定义一个单一的密集层,其输入大小为d,输出大小为1,并将此功能应用于输入上的每个“像素”(输入是在整个通道的深度方向上进行的)。

到目前为止,我还没有找到有效的解决方案。我尝试过先定义一个完全连接的层,然后遍历输入中的每个“像素”,但是初始化模型需要花费很多时间,而且我担心这样做会降低反向传播的速度,因为计算可能无法正确并行化

有有效的方法吗?

1 个答案:

答案 0 :(得分:0)

您要描述的是输出深度为1的1x1卷积。您可以像实现其余卷积层一样实现它。之后,您可能需要应用tf.squeeze来删除深度,深度应为1。