目录

符号约定

卷积输出公式

反卷积输出公式

卷积示例

反卷积示例


符号约定

  • 输入尺寸(input):$i$

  • 输出尺寸(output):$o$

  • 步长(stride):$s$

  • 填充(padding):$p$

  • 卷积核大小(kernel_size):$k$

卷积输出公式

卷积输出大小    $o=\lfloor\dfrac{i+2p-k}{s}+1\rfloor$   结果向下取整

反卷积输出公式

反卷积输出大小    $o=\lfloor s(i-1)-2p+k\rfloor$   结果向下取整

卷积示例

import torch
 import torch.nn as nn
 ​
 x = torch.rand(3, 28, 28)
 print(x.shape)
 conv = nn.Conv2d(3, 2, 3, 2, 1)     # (ic, oc, k , s, p)
 y = conv(x)
 print(y.shape)

输出结果

image-20231009203537116

根据公式计算得到 $o=\lfloor\dfrac{28+2*1-3}{2}+1\rfloor=14$

输入通道3,变为2

反卷积示例

 import torch
 import torch.nn as nn
 ​
 x = torch.rand(3, 4, 4)
 convtranspose = nn.ConvTranspose2d(3, 4, 2, 3, 1)  # (ic, oc, k, s, p)
 y = convtranspose(x)
 print(x.shape)
 print(y.shape)

输出结果

image-20231009225553212

根据公式计算得到 $o=\lfloor 3*(4-1)-2*1*+2\rfloor=9$

输入通道3,输出通道4

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐