Altifigence Academy

3 / 24 · 概念

形状、步幅、填充与膨胀

H=7、R=3、步幅 2、顶部填充 0、底部填充 1、膨胀率 2 时,计算 Ho 以及 h=1、r=2 对应的输入坐标。

形状计算决定寻址

步幅控制输出窗口起点之间的距离。膨胀率控制一个卷积核内样本之间的距离。它们在不同索引项中跳过输入位置。具有 R 个样本、膨胀率为 D 的卷积核跨越 D(R−1)+1 个位置。分别规定顶部、底部、左侧和右侧填充。本练习使用显式填充和向下取整的输出尺寸,而不是假定自动 SAME 约定。

Ho=⌊H+Pt+Pb−Dh(R−1)−1Sh⌋+1H_o=\left\lfloor\frac{H+P_t+P_b-D_h(R-1)-1}{S_h}\right\rfloor+1

将高度和垂直参数替换为对应的水平参数,即可得到输出宽度。当有效卷积核大于填充后的输入时,教学模型返回零个输出位置。生产算子必须另外规定是否允许空张量。

计算示例

H=5、R=3、步幅 2、顶部和底部填充均为一、膨胀率为一时,有效高度为三。输出高度为 floor((5+2−3)/2)+1=3。将膨胀率改为二后,有效高度变为五,输出高度变为二。步幅并未改变;每个窗口现在覆盖更大的区域。

使用 ih=h×S−Pt+r×D 映射输出坐标和卷积核坐标。h=1、r=2 时,第一种配置读取坐标 3。膨胀配置读取坐标 5。有效输入坐标为零到四,因此坐标五提供填充值,而不是越界读取数组。填充表示真实的零;原始量化存储可能用非零编码表示这个零。

NCHW 线性地址为 ((nC+c)H+ih)W+iw。N=1、C=2、H=W=3 时,坐标 (0,1,2,1) 映射到 18 元素张量中的位置 16。它是第二个通道最后一行的中间样本。交换通道轴和空间轴不会改变元素数量,却会改变计算。

分组数为 G 时,输入和输出通道数都必须能被 G 整除。每个输出归约本组的 C/G 个输入通道。应依次计算输出尺寸、生成地址并检查每个输入边界。ONNX Conv 官方规格定义了对应的显式填充、步幅、膨胀率和分组属性。

自己试试

H=7、R=3、步幅 2、顶部填充 0、底部填充 1、膨胀率 2 时,计算 Ho 以及 h=1、r=2 对应的输入坐标。

阅读解释

有效卷积核高度为五。Ho=floor((7+1−5)/2)+1=2。输入坐标为 1×2+2×2=6,即最后一个有效行。

你的选择适用于此浏览器,可随时在页脚更改。