函数 grid_sample 是对 2维 矩阵或者 3维体数据进行采样的函数。
函数原型,如下
torch.nn.functional.grid_sample(input, grid, mode='bilinear', padding_mode='zeros', align_corners=None)
在计算机视觉多视图几何里面可能会用到,在这里记录一下讲的比较好的一些资源。
-
首先,它经常和
torch.meshgrid组合在一起使用。 -
其次它的一个参数 grid 必须要 预处理,每个分量要预处理到
[-1,1]的范围。
以 2 维举例:[-1,-1] 表示输入的左上角,[1,1] 表示输入右下角。
代码例子
src_grid[:, 0] = src_grid[:, 0]/((W - 1) / 2) - 1 # scale to -1~1
src_grid[:, 1] = src_grid[:, 1]/((H - 1) / 2) - 1 # scale to -1~1
- 已经把这个函数怎么做的讲得非常清楚了的 pytorch 官方链接 TORCH.NN.FUNCTIONAL.GRID_SAMPLE
- 帮助理解的回答Understanding Pytorch Grid Sample
- 有图示的讲清楚该函数的 知乎博客grip_sample函数详解
- 解释为什么 grid_sample 可以反向回传梯度到 grid 的论坛讨论
Does the nn.funtional.grid_sample backwards grad to grid?
注意,参数 mode 选 ‘nearest’ 时,回传的参数都是 0。
本文介绍了PyTorch中的grid_sample函数,该函数用于2D或3D矩阵的采样,常与torch.meshgrid配合使用。预处理grid使其坐标范围在[-1,1],例如:`src_grid[:,0]=src_grid[:,0]/((W-1)/2)-1`和`src_grid[:,1]=src_grid[:,1]/((H-1)/2)-1`。参数mode选择'nearest'时,反向传播的梯度为0。文中还提到了一些理解grid_sample的资源,包括官方文档、实例解析和知乎博客。此外,讨论了grid_sample如何支持反向传播。
5310

被折叠的 条评论
为什么被折叠?



