torch的interpolate函数

F.interpolate—数组采样操作

torch.nn.functional.interpolate(input,size=None,scale_factor=None,mode='nearest',align_corners=None,recompute_scale_factor=None

功能:
1.利用插值方法,对输入的张量数组进行上、下采样操作,科学合理地改变数组的尺寸大小,尽量保持数据完整。
输入:
input(Tensor):需要进行采样处理的数组。
size(int或者序列):输出空间的大小,可以是一个整数也可以是一个元组,表示将输入调整为具有相同宽高的方形张量
scale_factor(float或者序列):空间大小的乘数
mode(str):用于采样的算法:nearest、linear、bilinear、bicubic、trilinear、area
align_corners(bool):在几何上,我们将输入和输出的像素视为正方形而不是点,如果设置为True,则输入和输出张量按照其角像素的中心点对齐,保留角像素处的值,如果设置为False,则输入和输出张量通过其角像素处的像素点对齐,并且插值使用边缘值填充用于边界外值,使得该操作在保持不变时独立于输入大小scale_factor。

功能:根据指定的size或者scale_factor进行上下采样,使用的插值算法取决于参数mode的取值。
支持目前的temporal,spatial和volumetric类型的采样数据作为输入,输入的格式为:
批量(batch_size)x通道(channels)x[可选深度]x[可选高度]x宽度。
mode是linear的时候输入必须是3维的。

align_corners=True与False的区别:
在这里插入图片描述

在计算机视觉中,interpolate函数常用于图像的放大(即上采样操作),比如在细粒度识别中,注意力图有时候会对特征图进行裁剪操作,将有用的部分裁剪出来,裁剪后的图像往往尺寸小于原始特征图,这时候强制转换成原始图像大小往往是无效的,会丢失部分有用的信息,因此使用interpolate函数对其进行上采样操作,在保证图像信息不丢失的情况下,放大图像,从而放大图像的细节,有利于进一步的特征提取工作。

参考博客:
https://blog.csdn.net/qq_50001789/article/details/120297401?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-120297401-blog-112508666.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-120297401-blog-112508666.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=5
写的特别好

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值