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 的输入 X
,其形状为 (N, C, d1, d2, …, dr),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, :) 值是用于插值输出张量 Y
中 (n, c, d1_out, d2_out, …, dr_out) 位置的值的归一化位置,使用指定的插值方法(模式)和填充模式(用于 grid
位置落在二维图像之外)。
例如,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'
)三种插值模式:线性(默认)、最近邻和三次。根据输入张量的空间维度数量(即,对于 1 个空间维度为线性,对于 2 个空间维度为双线性,等等),“线性”模式包括线性插值和 N-线性插值模式。“三次”模式也遵循相同的规则包括 N-三次插值模式。“最近邻”模式当采样点落在两个索引之间的中间时,会四舍五入到最接近的偶数索引。
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 是空间维度的数量。网格指定了由输入空间维度归一化的采样位置。因此,它应该在 [-1, 1] 范围内具有大多数值。如果网格具有超出 [-1, 1] 范围的值,则相应的输出将根据 padding_mode 的定义进行处理。按照计算机视觉惯例,长度为 r 的位置向量中的坐标从最内层张量维度列出到最外层,这与常规张量索引相反。
输出¶
Y (异构) - T1
等级为 r+2 的输出张量,形状为 (N, C, D1_out, D2_out, …, Dr_out),表示采样值的形状。对于整数输入类型,中间值将作为浮点数计算,并在最后转换为整数。
类型约束¶
T1 in (
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 in (
tensor(bfloat16)
,tensor(double)
,tensor(float)
,tensor(float16)
)将网格类型约束为浮点张量。
GridSample - 20¶
版本¶
域:
main
since_version:
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 的输入 X
,其形状为 (N, C, d1, d2, …, dr),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, :) 值是用于插值输出张量 Y
中 (n, c, d1_out, d2_out, …, dr_out) 位置的值的归一化位置,使用指定的插值方法(模式)和填充模式(用于 grid
位置落在二维图像之外)。
例如,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'
)三种插值模式:线性(默认)、最近邻和三次。根据输入张量的空间维度数量(即,对于 1 个空间维度为线性,对于 2 个空间维度为双线性,等等),“线性”模式包括线性插值和 N-线性插值模式。“三次”模式也遵循相同的规则包括 N-三次插值模式。“最近邻”模式当采样点落在两个索引之间的中间时,会四舍五入到最接近的偶数索引。
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 是空间维度的数量。网格指定了由输入空间维度归一化的采样位置。因此,它应该在 [-1, 1] 范围内具有大多数值。如果网格具有超出 [-1, 1] 范围的值,则相应的输出将根据 padding_mode 的定义进行处理。按照计算机视觉惯例,长度为 r 的位置向量中的坐标从最内层张量维度列出到最外层,这与常规张量索引相反。
输出¶
Y (异构) - T1
等级为 r+2 的输出张量,形状为 (N, C, D1_out, D2_out, …, Dr_out),表示采样值的形状。对于整数输入类型,中间值将作为浮点数计算,并在最后转换为整数。
类型约束¶
T1 in (
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 in (
tensor(double)
,tensor(float)
,tensor(float16)
)将网格类型约束为浮点张量。
GridSample - 16¶
版本¶
域:
main
since_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 x 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'
)三种插值模式:双线性(默认)、最近邻和双三次。
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 是网格和输出的高度和宽度,网格指定了由输入空间维度归一化的采样像素位置。因此,它应该在 [-1, 1] 范围内具有大多数值。如果网格具有超出 [-1, 1] 范围的值,则相应的输出将根据 padding_mode 的定义进行处理。
输出¶
Y (异构) - T1
形状为 (N, C, H_out, W_out) 的 4-D 张量,表示采样值的形状。对于整数输入类型,中间值将作为浮点数计算,并在最后转换为整数。
类型约束¶
T1 in (
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 in (
tensor(double)
,tensor(float)
,tensor(float16)
)将网格类型约束为浮点张量。