pytorch F.grid_sample用法

本文详细介绍了PyTorch中torch.nn.functional.grid_sample函数的使用方法,包括输入参数的意义、坐标归一化原理及双线性插值过程。通过具体实例展示了如何利用该函数从多通道图像中采样特定位置的像素值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

torch.nn.functional.grid_sample(input, grid, mode=‘bilinear’, padding_mode=‘zeros’, align_corners=None)

在这里插入图片描述
举个例子,input的shape为[1, 128, 124, 186],
可以知道N=1,C=128,Hin=124,Win=186N=1, C=128, H_{in}=124,W_{in}=186N=1,C=128,Hin=124Win=186

现在想从input中采些值出来,形成一个2285x1的一维特征向量,
Hout=2285,Wout=1H_{out}=2285, W_{out}=1Hout=2285,Wout=1

所以grid的shape为[1, 2285, 1, 2]
最后一个维度2是(x, y)坐标,注意是(x, y)而不是(h, w),它们是行列互换的关系。
而且(x, y)坐标是归一化到[-1, 1]内的:[-1, -1]对应input的左上角,[1, 1]对应input的右下角,(x, y)可以不是整数。
看官网关于维度的解释

For each output location output[n, :, h, w], the size-2 vector grid[n,
h, w] specifies input pixel locations x and y,

把grid中(x, y)坐标对应的每个C中input的值,填入到对应C的output中。因为grid的(x, y)坐标可以不是整数,所以要用到插值,
插值方法通过mode选定,比如双线性插值’bilinear’。

前面说(x, y)坐标要归一化到[-1, 1],如果超出了这个范围,要用到padding。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值