GridSample¶
GridSample - 22¶
版本¶
域:
main起始版本:
22函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的运算符自 版本 22 起可用。
摘要¶
给定输入 X 和流场 grid,使用 X 值和来自 grid 的像素位置计算输出 Y。对于形状为 (N, C, H, W) 的空间输入 X,grid 的形状将为 (N, H_out, W_out, 2),输出 Y 的形状将为 (N, C, H_out, W_out)。对于形状为 (N, C, D, H, W) 的体数据输入 X,grid 的形状将为 (N, D_out, H_out, W_out, 3),输出 Y 的形状将为 (N, C, D_out, H_out, W_out)。更一般地,对于秩为 r+2、形状为 (N, C, d1, d2, …, dr) 的输入 X,grid 的形状将为 (N, D1_out, D2_out, …, Dr_out, r),输出 Y 的形状将为 (N, C, D1_out, D2_out, …, Dr_out)。
张量 X 包含在正方形像素(体素等)位置(如 (n, c, d1_in, d2_in, …, dr_in))处的值。来自张量 grid 的 (n, d1_out, d2_out, …, dr_out, :) 值是用于通过指定的插值方法(模式)和填充模式(用于落在二维图像之外的 grid 位置)对来自输出张量 Y 的 (n, c, d1_out, d2_out, …, dr_out) 位置处的值进行插值的归一化位置。
例如,grid[n, h_out, w_out, :] 中的值是大小为 2 的向量,指定了 X 的二维空间中的归一化位置。它们用于插值 Y[n, c, h_out, w_out] 的输出值。
GridSample 运算符常用于 空间变换网络 中的网格生成器和采样器。另请参阅 torch.nn.functional.grid_sample。
属性¶
align_corners - INT (默认值为
'0')如果 align_corners=1,则极值(-1 和 1)被视为指代输入角像素(体素等)的中心点。如果 align_corners=0,则它们被视为指代输入角像素(体素等)的角点,使采样更不受分辨率影响。
mode - STRING (默认值为
'linear')三种插值模式:linear (默认)、nearest 和 cubic。“linear”模式包括线性插值和 N-线性插值模式,具体取决于输入张量的空间维度数(即,对于 1 个空间维度是线性,对于 2 个空间维度是双线性等)。“cubic”模式也包括遵循相同规则的 N-立方插值模式。“nearest”模式在采样点介于两个索引中间时四舍五入到最近的偶数索引。
padding_mode - STRING (默认值为
'zeros')支持网格外部值的填充模式:
zeros(默认)、border、reflection。zeros:对于超出边界的网格位置使用 0,border:对于超出边界的网格位置使用边界值,reflection:对于超出边界的网格位置使用由边界反射的位置处的值。如果索引 0 表示边缘像素,则索引 -1 处的反射值将与索引 1 处的值相同。对于远离边界的位置,它将继续反射直到进入边界内。如果像素位置 x = -3.5 通过边界 -1 反射变为 x' = 1.5,然后通过边界 1 反射变为 x'' = 0.5。
输入¶
X (异构) - T1
秩为 r+2 的输入张量,形状为 (N, C, D1, D2, …, Dr),其中 N 是批大小,C 是通道数,D1, D2, …, Dr 是空间维度。
grid (异构) - T2
形状为 (N, D1_out, D2_out, …, Dr_out, r) 的输入偏移,其中 D1_out, D2_out, …, Dr_out 是网格和输出的空间维度,r 是空间维度数。Grid 指定了按输入空间维度归一化的采样位置。因此,它应该在 [-1, 1] 范围内包含大多数值。如果网格具有超出 [-1, 1] 范围的值,则相应的输出将按 padding_mode 定义的方式处理。遵循计算机视觉约定,长度为 r 的位置向量中的坐标从最内部的张量维度到最外部的张量维度列出,与常规张量索引相反。
输出¶
Y(异构)- T1
秩为 r+2 的输出张量,形状为 (N, C, D1_out, D2_out, …, Dr_out),包含采样值。对于整数输入类型,中间值以浮点数计算并在最后转换为整数。
类型约束¶
T1 属于 (
tensor(bfloat16),tensor(bool),tensor(complex128),tensor(complex64),tensor(double),tensor(float),tensor(float16),tensor(int16),tensor(int32),tensor(int64),tensor(int8),tensor(string),tensor(uint16),tensor(uint32),tensor(uint64),tensor(uint8))将输入
X和输出Y类型限制为所有张量类型。T2 在 (
tensor(bfloat16),tensor(double),tensor(float),tensor(float16))将网格类型限制为浮点张量。
GridSample - 20¶
版本¶
域:
main始于版本:
20函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的操作符自版本 20起可用。
摘要¶
给定输入 X 和流场 grid,使用 X 值和来自 grid 的像素位置计算输出 Y。对于形状为 (N, C, H, W) 的空间输入 X,grid 的形状将为 (N, H_out, W_out, 2),输出 Y 的形状将为 (N, C, H_out, W_out)。对于形状为 (N, C, D, H, W) 的体数据输入 X,grid 的形状将为 (N, D_out, H_out, W_out, 3),输出 Y 的形状将为 (N, C, D_out, H_out, W_out)。更一般地,对于秩为 r+2、形状为 (N, C, d1, d2, …, dr) 的输入 X,grid 的形状将为 (N, D1_out, D2_out, …, Dr_out, r),输出 Y 的形状将为 (N, C, D1_out, D2_out, …, Dr_out)。
张量 X 包含在正方形像素(体素等)位置(如 (n, c, d1_in, d2_in, …, dr_in))处的值。来自张量 grid 的 (n, d1_out, d2_out, …, dr_out, :) 值是用于通过指定的插值方法(模式)和填充模式(用于落在二维图像之外的 grid 位置)对来自输出张量 Y 的 (n, c, d1_out, d2_out, …, dr_out) 位置处的值进行插值的归一化位置。
例如,grid[n, h_out, w_out, :] 中的值是大小为 2 的向量,指定了 X 的二维空间中的归一化位置。它们用于插值 Y[n, c, h_out, w_out] 的输出值。
GridSample 运算符常用于 空间变换网络 中的网格生成器和采样器。另请参阅 torch.nn.functional.grid_sample。
属性¶
align_corners - INT (默认值为
'0')如果 align_corners=1,则极值(-1 和 1)被视为指代输入角像素(体素等)的中心点。如果 align_corners=0,则它们被视为指代输入角像素(体素等)的角点,使采样更不受分辨率影响。
mode - STRING (默认值为
'linear')三种插值模式:linear (默认)、nearest 和 cubic。“linear”模式包括线性插值和 N-线性插值模式,具体取决于输入张量的空间维度数(即,对于 1 个空间维度是线性,对于 2 个空间维度是双线性等)。“cubic”模式也包括遵循相同规则的 N-立方插值模式。“nearest”模式在采样点介于两个索引中间时四舍五入到最近的偶数索引。
padding_mode - STRING (默认值为
'zeros')支持网格外部值的填充模式:
zeros(默认)、border、reflection。zeros:对于超出边界的网格位置使用 0,border:对于超出边界的网格位置使用边界值,reflection:对于超出边界的网格位置使用由边界反射的位置处的值。如果索引 0 表示边缘像素,则索引 -1 处的反射值将与索引 1 处的值相同。对于远离边界的位置,它将继续反射直到进入边界内。如果像素位置 x = -3.5 通过边界 -1 反射变为 x' = 1.5,然后通过边界 1 反射变为 x'' = 0.5。
输入¶
X (异构) - T1
秩为 r+2 的输入张量,形状为 (N, C, D1, D2, …, Dr),其中 N 是批大小,C 是通道数,D1, D2, …, Dr 是空间维度。
grid (异构) - T2
形状为 (N, D1_out, D2_out, …, Dr_out, r) 的输入偏移,其中 D1_out, D2_out, …, Dr_out 是网格和输出的空间维度,r 是空间维度数。Grid 指定了按输入空间维度归一化的采样位置。因此,它应该在 [-1, 1] 范围内包含大多数值。如果网格具有超出 [-1, 1] 范围的值,则相应的输出将按 padding_mode 定义的方式处理。遵循计算机视觉约定,长度为 r 的位置向量中的坐标从最内部的张量维度到最外部的张量维度列出,与常规张量索引相反。
输出¶
Y(异构)- T1
秩为 r+2 的输出张量,形状为 (N, C, D1_out, D2_out, …, Dr_out),包含采样值。对于整数输入类型,中间值以浮点数计算并在最后转换为整数。
类型约束¶
T1 属于 (
tensor(bool),tensor(complex128),tensor(complex64),tensor(double),tensor(float),tensor(float16),tensor(int16),tensor(int32),tensor(int64),tensor(int8),tensor(string),tensor(uint16),tensor(uint32),tensor(uint64),tensor(uint8))将输入
X和输出Y类型限制为所有张量类型。T2 属于 (
tensor(double),tensor(float),tensor(float16))将网格类型限制为浮点张量。
GridSample - 16¶
版本¶
域:
mainsince_version:
16函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的运算符自 版本 16 起可用。
摘要¶
给定输入 X 和流场 grid,使用 X 值和来自 grid 的像素位置计算输出 Y。目前,仅支持空间(4-D)输入。对于形状为 (N, C, H, W) 的输入 X 和形状为 (N, H_out, W_out, 2) 的 grid,输出 Y 的形状将为 (N, C, H_out, W_out)。
张量 X 包含 H 乘 W 二维图像中正方形像素中心的值。张量 grid 描述了要使用指定的插值方法(模式)和填充模式(用于落在二维图像之外的网格位置)计算输出 Y 的归一化位置。
grid[N, H_out, W_out] 中的元素是大小为 2 的向量,指定了 X 的二维空间中的位置。它们用于插值 Y[N, C, H_out, W_out] 的输出值。
GridSample 运算符常用于 空间变换网络 中的网格生成器和采样器。另请参阅 torch.nn.functional.grid_sample。
属性¶
align_corners - INT (默认值为
'0')如果 align_corners=1,则极值(-1 和 1)被视为指代输入角像素的中心点。如果 align_corners=0,则它们被视为指代输入角像素的角点,使采样更不受分辨率影响。
mode - STRING (默认值为
'bilinear')三种插值模式:bilinear (默认)、nearest 和 bicubic。
padding_mode - STRING (默认值为
'zeros')支持网格外部值的填充模式:
zeros(默认)、border、reflection。zeros:对于超出边界的网格位置使用 0,border:对于超出边界的网格位置使用边界值,reflection:对于超出边界的网格位置使用由边界反射的位置处的值。如果索引 0 表示边缘像素,则索引 -1 处的反射值将与索引 1 处的值相同。对于远离边界的位置,它将继续反射直到进入边界内。如果像素位置 x = -3.5 通过边界 -1 反射变为 x' = 1.5,然后通过边界 1 反射变为 x'' = 0.5。
输入¶
X (异构) - T1
形状为 (N, C, H, W) 的 4-D 张量,其中 N 是批大小,C 是通道数,H 和 W 是输入数据的高度和宽度。
grid (异构) - T2
输入偏移,形状为 (N, H_out, W_out, 2) 的 4-D 张量,其中 H_out 和 W_out 是网格和输出的高度和宽度。Grid 指定了按输入空间维度归一化的采样像素位置。因此,它应该在 [-1, 1] 范围内包含大多数值。如果网格具有超出 [-1, 1] 范围的值,则相应的输出将按 padding_mode 定义的方式处理。
输出¶
Y(异构)- T1
形状为 (N, C, H_out, W_out) 的 4-D 采样值张量。对于整数输入类型,中间值以浮点数计算并在最后转换为整数。
类型约束¶
T1 属于 (
tensor(bool),tensor(complex128),tensor(complex64),tensor(double),tensor(float),tensor(float16),tensor(int16),tensor(int32),tensor(int64),tensor(int8),tensor(string),tensor(uint16),tensor(uint32),tensor(uint64),tensor(uint8))将输入
X和输出Y类型限制为所有张量类型。T2 属于 (
tensor(double),tensor(float),tensor(float16))将网格类型限制为浮点张量。