pytorch中上采样的实现

本文详细介绍了在FCN学习中常用的上采样方法,Resize技术和Deconvolution(反卷积),并重点讲解了PyTorch中ConvTranspose2d函数的参数及尺寸计算公式。
部署运行你感兴趣的模型镜像

因为最近在学习FCN,所以呢,有一些上采样的操作
实际上,上采样(upsampling)一般包括2种方式:

1:Resize,如双线性插值直接缩放,类似于图像缩放(这种方法在原文中提到)

2:Deconvolution,也叫Transposed Convolution,也叫做反卷积。

一:Resize

CLASS torch.nn.Upsample(size=None, scale_factor=None, mode='nearest', align_corners=None)
CLASS torch.nn.UpsamplingNearest2d(size=None, scale_factor=None)
CLASS torch.nn.UpsamplingBilinear2d(size=None, scale_factor=None)

这些方法都是可以放大张量size的,是通过各种插值的方式进行的。这些使用比较简单,就不详细说了,详细可自行百度。

二:Deconvolution
这里解释一下Deconvolution。
pytorch中反卷积的函数为:

class torch.nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride=1, padding=0,           output_padding=0, groups=1, bias=True, dilation=1)

参数的含义如下:
• in_channels(int) – 输入信号的通道数
• out_channels(int) – 卷积产生的通道数
• kerner_size(int or tuple) - 卷积核的大小
• stride(int or tuple,optional) - 卷积步长,即要将输入扩大的倍数。
• padding(int or tuple, optional) - 输入的每一条边补充0的层数,高宽都增加2*padding
• output_padding(int or tuple, optional) - 输出边补充0的层数,高宽都增加padding
• groups(int, optional) – 从输入通道到输出通道的阻塞连接数
• bias(bool, optional) - 如果bias=True,添加偏置
• dilation(int or tuple, optional) – 卷积核元素之间的间距
对于每一条边输入输出的尺寸的公式如下:
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

PyTorch 2.9

PyTorch 2.9

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值