比如我有一个矩阵
还有面具
0 0 0 0
0 1 0 1
0 0 1 0
0 0 0 0
这里我有3个元素,我想应用conv2d。
操作是我想用它自己和它的邻居的int平均值替换掩码中的元素。
内核只是一个简单的3x3
1/9 1/9 1/9
1/9 1/9 1/9
1/9 1/9 1/9
我想要的结果是
我知道的最简单的方法是在完整的ndarray上应用conv2d,然后用掩码设置值。但是我不想对一个大的数组进行计算,因为掩码元素可能很少。
目前我的解决方案是使用np.argwhere找到所有索引,然后逐个计算,我想知道是否有更优雅的解决方案。
1条答案
按热度按时间7hiiyaii1#
您可以通过实现一个变通方法来实现所需的结果。以下是为您的任务建议的工作流:
此外,如果您愿意,您可以将此功能封装在自定义TensorFlow层中。我希望这个解决方案能有效地解决你的问题。