卷积神经网络卷积后尺寸大小计算
神经网络卷积后尺寸计算1、无填充1.1 公式1.2 示例2、有填充2.1 公式2.2 示例1、无填充1.1 公式H′=(H−K[0])S[0]+1W’=(W−K[1])S[1]+1\begin{aligned}\\H' &= \frac{(H-K[0])}{S[0]} + 1 \\ \\W’ &=\frac{(W-K[1])}{S[1]} + 1\end{aligned}H′W’
1、无填充
1.1 公式1
H ′ = ( H − K [ 0 ] ) S [ 0 ] + 1 W ’ = ( W − K [ 1 ] ) S [ 1 ] + 1 \begin{aligned}\\ H' &= \frac{(H-K[0])}{S[0]} + 1 \\ \\ W’ &=\frac{(W-K[1])}{S[1]} + 1 \end{aligned} H′W’=S[0](H−K[0])+1=S[1](W−K[1])+1
其中:
- K K K表示卷积核大小(kernel_size=(kernel_height,kernel_width))
- S S S表示步幅大小(stride_size=(stride_height, stride_width))
- H H H表示输入的张量的行长, H ′ H' H′表示输出张量的行长
- W W W表示输入的张量的列长, W ′ W' W′表示输出张量的列长
ps:这里的除法为向下取整
1.2 示例


2、有填充
2.1.1 公式2
H ′ = ( H − K [ 0 ] + 2 ∗ P a d [ 0 ] ) S [ 0 ] + 1 W ’ = ( W − K [ 1 ] + 2 ∗ P a d [ 1 ] ) S [ 1 ] + 1 \begin{aligned}\\ H' &= \frac{(H-K[0] + 2*Pad[0])}{S[0]} + 1 \\ \\ W’ &=\frac{(W-K[1] + 2*Pad[1])}{S[1]} + 1 \end{aligned} H′W’=S[0](H−K[0]+2∗Pad[0])+1=S[1](W−K[1]+2∗Pad[1])+1
其中:
- K K K表示卷积核大小(kernel_size=(kernel_height,kernel_width))
- S S S表示步幅大小(stride_size=(stride_height, stride_width))
- P a d Pad Pad表示填充大小(padding_size=(up_down, left_right))
- H H H表示输入的张量的行长, H ′ H' H′表示输出张量的行长
- W W W表示输入的张量的列长, W ′ W' W′表示输出张量的列长
ps:pytorch卷积操作中的默认填充方式为(上下、左右)对称0填充,且具体操作流程为先填充后卷积。
2.1.2 示例

2.2.1 公式3
H ′ = ( H − K [ 0 ] + P a d [ 0 ] + P a d [ 1 ] ) S [ 0 ] + 1 W ’ = ( W − K [ 1 ] + P a d [ 2 ] + P a d [ 3 ] ) S [ 1 ] + 1 \begin{aligned}\\ H' &= \frac{(H-K[0] + Pad[0] + Pad[1])}{S[0]} + 1 \\ \\ W’ &=\frac{(W-K[1] + Pad[2] + Pad[3])}{S[1]} + 1 \end{aligned} H′W’=S[0](H−K[0]+Pad[0]+Pad[1])+1=S[1](W−K[1]+Pad[2]+Pad[3])+1
其中:
- K K K表示卷积核大小(kernel_size=(kernel_height,kernel_width))
- S S S表示步幅大小(stride_size=(stride_height, stride_width))
- P a d Pad Pad表示填充大小(padding_size=(left, right, up, down))
- H H H表示输入的张量的行长, H ′ H' H′表示输出张量的行长
- W W W表示输入的张量的列长, W ′ W' W′表示输出张量的列长
2.2.2 示例

更多推荐
所有评论(0)