conv2d 在 Tensorflow 中的非矩形图像

conv2d on non-rectangular image in Tensorflow

我有图像数据集,这些图像以上三角方式呈半黑色,即主对角线下方的所有像素都是黑色。

Tensorflow 中有没有一种方法可以将这样的图像提供给 conv2d 层,然后将卷积屏蔽或限制为仅相关像素?

如果黑色转换为 0,则您无需执行任何操作。卷积会将 0 乘以它所具有的任何权重,因此它不会对结果产生影响。如果不是,您可以将数据与二进制掩码相乘,使它们为 0。

对于所有黑色像素,您仍然会得到任何偏差项(如果有的话)。 您可以将结果与二进制掩码相乘,以将您不想填充的区域清零。通过这种方式,您还可以决定删除黑色单元格过多的结果,例如对角线周围的结果。

您还可以编写自己的自定义操作来执行您想要的操作。我会反对它,因为你最多只能获得 2 的加速(其他操作会降低它)。您可能会在 GPU 上通过 运行 获得更高的性能。