参考博客1、https://blog.youkuaiyun.com/murdock_c/article/details/87470248
2、https://blog.youkuaiyun.com/silence2015/article/details/79748729
总结一下:以一个1x6x6x1(nhwc)为例,假如卷积核大小3x3,stride = 1,dilation=2的卷积。
输入
kernel
需要执行的操作:
将input颜色相同的值与kernel做卷积计算,为了实现这个目的,首先使用SpaceToBatchND,设置block_shape=[dilation_h,dilation_w],该操作会将相同颜色的值放入一个channel中去。
这里设置block_shape=[2,2],SpaceToBatchND的输出就会变为(batch * block_shape[0]*block_shape[1],h/block_shape[0],w/block_shape[1],channel):
看到这大家应该能看出来,后面只需要做普通卷积就能完成计算了。完成计算后还需要通过BatchToSpaceND将其转换回来。