You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

torch.nn.functional.grid_sample双线性采样计算结果不符求助

关于torch.nn.functional.grid_sample双线性插值计算的困惑

正在调试包含torch.nn.functional.grid_sample算子的神经网络,使用PyCharm查看调试过程中的数值:

  • grid张量形状:1*15*2
  • 输入张量形状:1*128*16*16
  • 输出张量形状:1*128*1*15

算子参数设置:align_corners = False,mode = 'bilinear',padding_mode = 'zero'

已理解的采样逻辑

对于网格坐标(-1,-1),对应的输出值(-4.74179)是从左上角4个位置采样计算得到:其中3个位置为填充的0,1个位置值为-18.96716,计算方式为-18.96716 / 4 = -4.74179,这部分逻辑没问题。

存在困惑的采样案例

以输出值84.65594为例,其对应的网格坐标是(-0.45302, 0.53659)。按照坐标转换逻辑,将(-1,1)范围的坐标转换到输入张量的(0,15)索引范围:先加1,除以2,再乘以15,得到转换后的坐标为(4.10235, 11.524425)。

对应的四个采样值位置与数值如下:

(x)44.20010---0.10235---------(y)26.68777
|             |                    |
|             |                    |
0.524425---(a,b)--------------------
|             |                    |
|             |                    |
(w)102.18765---------------------(z)30.03996

手动计算定义变量:

a = 0.10235
b = 0.524425
x = 44.20010
y = 26.68777
z = 30.03996
w = 102.18765

按照双线性插值公式计算:

output = a*b*z + (1 - a)*(1 - b)*x + (1 - a)*b*w + (1-b)*a*y
       = 0.10235*0.524425*30.03996 + (1-0.10235)*(1-0.524425)*44.20010 + (1-0.10235)*0.524425*102.18765 + (1-0.524425)*0.10235*26.68777
       = 69.8852865171

该计算结果与实际输出的84.65594不符,无法理解输出值的计算逻辑,恳请帮助!


内容的提问来源于stack exchange,提问作者user9875189

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:15:39