在TensorFlow中,如何在具有不同2D内核的小批量中对每个图像进行卷积?每个图像的小批量具有大小[10000, 32, 32]
,并且相应的过滤器具有大小[10000, 2, 2]
--- 10000个内核,每个2个像素×2个像素。我想获得大小为[10000, 31, 31]
的输出。 (我计划将步幅全部设置为1并使用“VALID”选项关闭填充,因此输出图像的大小为31x31,而输入图像的大小为32x32。)
在a related question中,解决方案是为图像的小批量添加“深度”维度,然后使用conv3d而不是conv2d。但是在那个问题中,操作似乎满足于将一个图像作为输出返回,而不是将一个图像作为小批量中每个样本的输出。
答案 0 :(得分:0)
啊,tf.nn.depthwise_conv2d
函数完全符合我的要求。我不认为有任何方法可以使用conv2d
或conv3d
来完成任务。