pytorch F.grid_sample用法

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 , H i n = 124 , W i n = 186 N=1, C=128, H_{in}=124,W_{in}=186 N=1,C=128,Hin=124Win=186

现在想从input中采些值出来,形成一个2285x1的一维特征向量,
H o u t = 2285 , W o u t = 1 H_{out}=2285, W_{out}=1 Hout=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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蓝羽飞鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值