pytorch版 ConvTranspose2d参数及实现过程的个人理解

 首先看官方文档(ConvTranspose2d — PyTorch 1.13 documentation)给出的调用参数

torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, 
padding=0, output_padding=0, groups=1, bias=True, dilation=1, 
padding_mode='zeros', device=None, dtype=None)

就几个关键参数说一下我个人理解

  • stride:这个操作中的步长,实际上并不作为卷积核的步长,而是一个与输入tensor中各个元素之间填充元素数量有关的参数
  • padding:实际上input_tensor的padding并不是这个输入参数padding,实际的padding_文档给出了公式:padding_ = dilation * (kernel - 1) - padding
  • output_padding:在进行卷积操作结束后对输出tensor进行再次padding,本次padding默认对最右侧以及最下方进行填充。
  • dilation:文档中描述的是控制卷积核元素之间的间距,默认值1。当dilation=1时,间距为0

实现过程

下面说说我个人理解的实现过程,假设输入tensor大小3*3,卷积核大小为2*2,stride=2,padding=1,output_padding=0,dilation=2

一、首先定义几个

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值