Resize¶
Resize - 19¶
版本¶
名称: Resize (GitHub)
域:
mainsince_version:
19函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的操作符自 版本 19 起可用。
摘要¶
调整输入张量的大小。通常,它将输出张量中的每个值计算为输入张量中相邻区域(也称为采样位置)的加权平均值。输出张量的每个维度值是
output_dimension = floor(input_dimension * (roi_end - roi_start) * scale)
如果未指定输入“sizes”。
属性¶
antialias - INT (默认为
'0')如果设置为 1,“linear”和“cubic”插值模式在降采样时将使用抗锯齿滤波器。通过将重采样滤波器拉伸最大值(1, 1 / scale)的因子来实现抗锯齿,这意味着在降采样时,更多的输入像素会贡献到一个输出像素。
axes - INTS :
如果提供,它指定“roi”、“scales”和“sizes”所引用的轴的子集。如果未提供,则假定所有轴为 [0, 1, ..., r-1],其中 r = rank(data)。未指定的维度被解释为不可调整大小。负值表示从后向前计算维度。接受范围为 [-r, r-1],其中 r = rank(data)。如果轴重复,则行为未定义。
coordinate_transformation_mode - STRING (默认为
'half_pixel')此属性描述如何将调整大小的张量中的坐标转换为原始张量中的坐标。
每个维度的坐标单独转换。我们以轴 x 为例进行说明。将
x_resized表示为调整大小的张量中轴 x 的坐标,x_original表示为原始张量中轴 x 的坐标,length_original表示为原始张量在轴 x 上的长度,length_resized表示为调整大小的张量在轴 x 上的长度,scale = length_resized / length_original,output_width是轴 x 上的目标长度,当它从比例因子计算出来时可以是小数,output_width_int是有效的整数输出宽度。如果 coordinate_transformation_mode 是
"half_pixel",x_original = (x_resized + 0.5) / scale - 0.5
如果 coordinate_transformation_mode 是
"half_pixel_symmetric",adjustment = output_width_int / output_width center = input_width / 2 offset = center * (1 - adjustment) x_ori = offset + (x + 0.5) / scale - 0.5
如果 coordinate_transformation_mode 是
"pytorch_half_pixel",x_original = length_resized > 1 ? (x_resized + 0.5) / scale - 0.5 : 0
如果 coordinate_transformation_mode 是
"align_corners",x_original = x_resized * (length_original - 1) / (length_resized - 1)
如果 coordinate_transformation_mode 是
"asymmetric",x_original = x_resized / scale
如果 coordinate_transformation_mode 是
"tf_crop_and_resize",x_original = length_resized > 1 ? start_x * (length_original - 1) + x_resized * (end_x - start_x) * (length_original - 1) / (length_resized - 1) : 0.5 * (start_x + end_x) * (length_original - 1)
.
cubic_coeff_a - FLOAT (默认为
'-0.75')三次插值中使用的系数“a”。两个常见选择是 -0.5(在某些 TensorFlow 情况下)和 -0.75(在 PyTorch 中)。详情请查阅 https://ieeexplore.ieee.org/document/1163711 中的公式 (4)。此属性仅在 mode 为“cubic”时有效。
exclude_outside - INT (默认为
'0')如果设置为 1,张量外部采样位置的权重将设置为 0,并且权重将重新归一化,使其总和为 1.0。默认值为 0。
extrapolation_value - FLOAT (默认为
'0.0')当 coordinate_transformation_mode 为“tf_crop_and_resize”且 x_original 超出范围 [0, length_original - 1] 时,此值用作相应的输出值。默认值为 0.0f。
keep_aspect_ratio_policy - STRING (默认为
'stretch')此属性描述如何解释
sizes输入以保持输入的原始纵横比,当使用scales输入时,此属性不适用。给定一组
sizes,与axes的子集(明确提供或默认)相关联,并假设d = axes[i],其中i是提供的sizes的索引。如果
keep_aspect_ratio_policy是"stretch",则忽略原始纵横比,并且输入被调整到指定大小:out_size[d] = sizes[i]如果
keep_aspect_ratio_policy是"not_larger",则调整大小,使输出的任何范围都不大于指定大小,同时保持原始纵横比scale = Min(sizes[i] / in_size[d]) out_size[d] = round_int(scale * in_size[d])
如果
keep_aspect_ratio_policy是"not_smaller",则调整大小,使输出的任何范围都不小于指定大小,同时保持原始纵横比scale = Max(sizes[i] / in_size[d]) out_size[d] = round_int(scale * in_size[d])
对于不可调整大小的轴(未在
axes中指定的轴),输出大小将等于输入大小。注意:
round_int表示计算最接近的整数值,中间情况向上取整。mode - STRING (默认为
'nearest')三种插值模式:“nearest”(默认)、“linear”和“cubic”。“linear”模式包括一维张量的线性插值和 N 维张量的 N 线性插值(例如,二维张量的双线性插值)。“cubic”模式包括一维张量的三次插值和 N 维张量的 N 三次插值(例如,二维张量的双三次插值)。
nearest_mode - STRING (默认为
'round_prefer_floor')四种模式:“round_prefer_floor”(默认,又称向下取半)、“round_prefer_ceil”(又称向上取半)、“floor”、“ceil”。仅用于最近邻插值。它表示如何从 x_original 获取输入张量中的“最近”像素,因此此属性仅在“mode”为“nearest”时有效。
输入¶
1 到 4 个输入之间。
X (异构) - T1
N 维张量
roi (可选,异构) - T2
一维张量,形式为 [start1, ..., startN, end1, ..., endN],其中 N 是 X 的秩或 axes 的长度(如果提供)。RoI 的坐标在输入图像的坐标系中归一化。它仅在 coordinate_transformation_mode 为“tf_crop_and_resize”时生效。
scales (可选,异构) - tensor(float)
沿每个维度的比例数组。其值大于 0。如果小于 1,则为降采样,否则为上采样。“scales”的元素数量应与输入“X”的秩相同,或与“axes”的长度相同(如果提供)。“scales”和“sizes”必须指定其中之一,如果两者都指定则为错误。如果需要“sizes”,用户可以将此算子输入列表中的“scales”名称设置为空字符串。
sizes (可选,异构) - tensor(int64)
输出张量的目标大小。其解释取决于“keep_aspect_ratio_policy”值。“sizes”的元素数量应与输入“X”的秩相同,或与“axes”的长度相同(如果提供)。“scales”和“sizes”只能指定其中之一。
输出¶
Y(异构)- T1
调整大小后的 N 维张量
类型约束¶
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(double),tensor(float),tensor(float16))将 roi 类型约束为 float 或 double。
Resize - 18¶
版本¶
名称: Resize (GitHub)
域:
main起始版本:
18函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的操作符自版本 18 起可用。
摘要¶
调整输入张量的大小。通常,它将输出张量中的每个值计算为输入张量中相邻区域(也称为采样位置)的加权平均值。输出张量的每个维度值是
output_dimension = floor(input_dimension * (roi_end - roi_start) * scale)
如果未指定输入“sizes”。
属性¶
antialias - INT (默认为
'0')如果设置为 1,“linear”和“cubic”插值模式在降采样时将使用抗锯齿滤波器。通过将重采样滤波器拉伸最大值(1, 1 / scale)的因子来实现抗锯齿,这意味着在降采样时,更多的输入像素会贡献到一个输出像素。
axes - INTS :
如果提供,它指定“roi”、“scales”和“sizes”所引用的轴的子集。如果未提供,则假定所有轴为 [0, 1, ..., r-1],其中 r = rank(data)。未指定的维度被解释为不可调整大小。负值表示从后向前计算维度。接受范围为 [-r, r-1],其中 r = rank(data)。如果轴重复,则行为未定义。
coordinate_transformation_mode - STRING (默认为
'half_pixel')此属性描述如何将调整大小的张量中的坐标转换为原始张量中的坐标。
每个维度的坐标单独转换。我们以轴 x 为例进行说明。将 x_resized 表示为调整大小的张量中轴 x 的坐标,x_original 表示为原始张量中轴 x 的坐标,
length_original表示为原始张量在轴 x 上的长度,length_resized 表示为调整大小的张量在轴 x 上的长度,roi_x = (start_x, end_x) 为输入“roi”中轴 x 的值,scale = length_resized / length_original,如果 coordinate_transformation_mode 是
"half_pixel",
x_original = (x_resized + 0.5) / scale - 0.5如果 coordinate_transformation_mode 是
"pytorch_half_pixel",
x_original = length_resized > 1 ? (x_resized + 0.5) / scale - 0.5 : 0如果 coordinate_transformation_mode 是
"align_corners",
x_original = x_resized * (length_original - 1) / (length_resized - 1)如果 coordinate_transformation_mode 是
"asymmetric",
x_original = x_resized / scale如果 coordinate_transformation_mode 是
"tf_crop_and_resize",
x_original = length_resized > 1 ? start_x * (length_original - 1) + x_resized * (end_x - start_x) * (length_original - 1) / (length_resized - 1) : 0.5 * (start_x + end_x) * (length_original - 1).cubic_coeff_a - FLOAT (默认为
'-0.75')三次插值中使用的系数“a”。两个常见选择是 -0.5(在某些 TensorFlow 情况下)和 -0.75(在 PyTorch 中)。详情请查阅 https://ieeexplore.ieee.org/document/1163711 中的公式 (4)。此属性仅在 mode 为“cubic”时有效。
exclude_outside - INT (默认为
'0')如果设置为 1,张量外部采样位置的权重将设置为 0,并且权重将重新归一化,使其总和为 1.0。默认值为 0。
extrapolation_value - FLOAT (默认为
'0.0')当 coordinate_transformation_mode 为“tf_crop_and_resize”且 x_original 超出范围 [0, length_original - 1] 时,此值用作相应的输出值。默认值为 0.0f。
keep_aspect_ratio_policy - STRING (默认为
'stretch')此属性描述如何解释
sizes输入以保持输入的原始纵横比,当使用scales输入时,此属性不适用。给定一组
sizes,与axes的子集(明确提供或默认)相关联,并假设d = axes[i],其中i是提供的sizes的索引。如果
keep_aspect_ratio_policy是"stretch",则忽略原始纵横比,并将输入调整到指定大小
out_size[d] = sizes[i]如果
keep_aspect_ratio_policy是"not_larger",则调整大小,使输出的任何范围都不大于指定大小,同时保持原始纵横比
scale = Min(sizes[i] / in_size[d])
out_size[d] = round_int(scale * in_size[d])如果
keep_aspect_ratio_policy是"not_smaller",则调整大小,使输出的任何范围都不小于指定大小,同时保持原始纵横比
scale = Max(sizes[i] / in_size[d])
out_size[d] = round_int(scale * in_size[d])对于不可调整大小的轴(未在
axes中指定的轴),输出大小将等于输入大小。注意:
round_int表示计算最接近的整数值,中间情况向上取整。mode - STRING (默认为
'nearest')三种插值模式:“nearest”(默认)、“linear”和“cubic”。“linear”模式包括一维张量的线性插值和 N 维张量的 N 线性插值(例如,二维张量的双线性插值)。“cubic”模式包括一维张量的三次插值和 N 维张量的 N 三次插值(例如,二维张量的双三次插值)。
nearest_mode - STRING (默认为
'round_prefer_floor')四种模式:“round_prefer_floor”(默认,又称向下取半)、“round_prefer_ceil”(又称向上取半)、“floor”、“ceil”。仅用于最近邻插值。它表示如何从 x_original 获取输入张量中的“最近”像素,因此此属性仅在“mode”为“nearest”时有效。
输入¶
1 到 4 个输入之间。
X (异构) - T1
N 维张量
roi (可选,异构) - T2
一维张量,形式为 [start1, ..., startN, end1, ..., endN],其中 N 是 X 的秩或 axes 的长度(如果提供)。RoI 的坐标在输入图像的坐标系中归一化。它仅在 coordinate_transformation_mode 为“tf_crop_and_resize”时生效。
scales (可选,异构) - tensor(float)
沿每个维度的比例数组。其值大于 0。如果小于 1,则为降采样,否则为上采样。“scales”的元素数量应与输入“X”的秩相同,或与“axes”的长度相同(如果提供)。“scales”和“sizes”必须指定其中之一,如果两者都指定则为错误。如果需要“sizes”,用户可以将此算子输入列表中的“scales”名称设置为空字符串。
sizes (可选,异构) - tensor(int64)
输出张量的目标大小。其解释取决于“keep_aspect_ratio_policy”值。“sizes”的元素数量应与输入“X”的秩相同,或与“axes”的长度相同(如果提供)。“scales”和“sizes”只能指定其中之一。
输出¶
Y(异构)- T1
调整大小后的 N 维张量
类型约束¶
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(double),tensor(float),tensor(float16))将 roi 类型约束为 float 或 double。
Resize - 13¶
版本¶
名称: Resize (GitHub)
域:
main起始版本:
13函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的运算符自 版本 13 起可用。
摘要¶
调整输入张量的大小。通常,它将输出张量中的每个值计算为输入张量中相邻区域(也称为采样位置)的加权平均值。输出张量的每个维度值为:output_dimension = floor(input_dimension * (roi_end - roi_start) * scale),如果未指定输入“sizes”。
属性¶
coordinate_transformation_mode - STRING (默认为
'half_pixel')此属性描述如何将调整大小的张量中的坐标转换为原始张量中的坐标。
每个维度的坐标单独转换。我们以轴 x 为例进行说明。将 x_resized 表示为调整大小的张量中轴 x 的坐标,x_original 表示为原始张量中轴 x 的坐标,length_original 表示为原始张量在轴 x 上的长度,length_resized 表示为调整大小的张量在轴 x 上的长度,roi_x = (start_x, end_x) 为输入“roi”中轴 x 的值,scale = length_resized / length_original,
如果 coordinate_transformation_mode 是“half_pixel”,
x_original = (x_resized + 0.5) / scale - 0.5,如果 coordinate_transformation_mode 是“pytorch_half_pixel”,
x_original = length_resized > 1 ? (x_resized + 0.5) / scale - 0.5 : 0,如果 coordinate_transformation_mode 是“align_corners”,
x_original = x_resized * (length_original - 1) / (length_resized - 1),如果 coordinate_transformation_mode 是“asymmetric”,
x_original = x_resized / scale,如果 coordinate_transformation_mode 是“tf_crop_and_resize”,
x_original = length_resized > 1 ? start_x * (length_original - 1) + x_resized * (end_x - start_x) * (length_original - 1) / (length_resized - 1) : 0.5 * (start_x + end_x) * (length_original - 1)。cubic_coeff_a - FLOAT (默认为
'-0.75')三次插值中使用的系数“a”。两个常见选择是 -0.5(在某些 TensorFlow 情况下)和 -0.75(在 PyTorch 中)。详情请查阅 https://ieeexplore.ieee.org/document/1163711 中的公式 (4)。此属性仅在“mode”为“cubic”时有效。
exclude_outside - INT (默认为
'0')如果设置为 1,张量外部采样位置的权重将设置为 0,并且权重将重新归一化,使其总和为 1.0。默认值为 0。
extrapolation_value - FLOAT (默认为
'0.0')当 coordinate_transformation_mode 为“tf_crop_and_resize”且 x_original 超出范围 [0, length_original - 1] 时,此值用作相应的输出值。默认值为 0.0f。
mode - STRING (默认为
'nearest')三种插值模式:最近邻(默认)、线性插值和三次插值。“linear”模式包括一维张量的线性插值和 N 维张量的 N 线性插值(例如,二维张量的双线性插值)。“cubic”模式包括一维张量的三次插值和 N 维张量的 N 三次插值(例如,二维张量的双三次插值)。
nearest_mode - STRING (默认为
'round_prefer_floor')四种模式:round_prefer_floor(默认,又称向下取半)、round_prefer_ceil(又称向上取半)、floor、ceil。仅用于最近邻插值。它表示如何从 x_original 获取输入张量中的“最近”像素,因此此属性仅在“mode”为“nearest”时有效。
输入¶
1 到 4 个输入之间。
X (异构) - T1
N 维张量
roi (可选,异构) - T2
一维张量,形式为 [start1, ..., startN, end1, ..., endN],其中 N 是 X 的秩。RoI 的坐标在输入图像的坐标系中归一化。它仅在 coordinate_transformation_mode 为“tf_crop_and_resize”时生效。
scales (可选,异构) - tensor(float)
沿每个维度的比例数组。其值大于 0。如果小于 1,则为降采样,否则为上采样。“scales”的元素数量应与输入“X”的秩相同。“scales”和“sizes”必须指定其中之一,如果两者都指定则为错误。如果需要“sizes”,用户可以将此算子输入列表中的“scales”名称设置为空字符串。
sizes (可选,异构) - tensor(int64)
输出张量的大小。“sizes”的元素数量应与输入“X”的秩相同。“scales”和“sizes”只能指定其中之一。
输出¶
Y(异构)- T1
调整大小后的 N 维张量
类型约束¶
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(double),tensor(float),tensor(float16))将 roi 类型约束为 float 或 double。
Resize - 11¶
版本¶
名称: Resize (GitHub)
域:
main起始版本:
11函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的运算符自 版本 11 起可用。
摘要¶
调整输入张量的大小。通常,它将输出张量中的每个值计算为输入张量中相邻区域(也称为采样位置)的加权平均值。输出张量的每个维度值为:output_dimension = floor(input_dimension * (roi_end - roi_start) * scale),如果未指定输入“sizes”。
属性¶
coordinate_transformation_mode - STRING (默认为
'half_pixel')此属性描述如何将调整大小的张量中的坐标转换为原始张量中的坐标。
每个维度的坐标单独转换。我们以轴 x 为例进行说明。将 x_resized 表示为调整大小的张量中轴 x 的坐标,x_original 表示为原始张量中轴 x 的坐标,length_original 表示为原始张量在轴 x 上的长度,length_resized 表示为调整大小的张量在轴 x 上的长度,roi_x = (start_x, end_x) 为输入“roi”中轴 x 的值,scale = length_resized / length_original,
如果 coordinate_transformation_mode 是“half_pixel”,
x_original = (x_resized + 0.5) / scale - 0.5,如果 coordinate_transformation_mode 是“pytorch_half_pixel”,
x_original = length_resized > 1 ? (x_resized + 0.5) / scale - 0.5 : 0,如果 coordinate_transformation_mode 是“align_corners”,
x_original = x_resized * (length_original - 1) / (length_resized - 1),如果 coordinate_transformation_mode 是“asymmetric”,
x_original = x_resized / scale,如果 coordinate_transformation_mode 是“tf_half_pixel_for_nn”,
x_original = (x_resized + 0.5) / scale,如果 coordinate_transformation_mode 是“tf_crop_and_resize”,
x_original = length_resized > 1 ? start_x * (length_original - 1) + x_resized * (end_x - start_x) * (length_original - 1) / (length_resized - 1) : 0.5 * (start_x + end_x) * (length_original - 1)。cubic_coeff_a - FLOAT (默认为
'-0.75')三次插值中使用的系数“a”。两个常见选择是 -0.5(在某些 TensorFlow 情况下)和 -0.75(在 PyTorch 中)。详情请查阅 https://ieeexplore.ieee.org/document/1163711 中的公式 (4)。此属性仅在“mode”为“cubic”时有效。
exclude_outside - INT (默认为
'0')如果设置为 1,张量外部采样位置的权重将设置为 0,并且权重将重新归一化,使其总和为 1.0。默认值为 0。
extrapolation_value - FLOAT (默认为
'0.0')当 coordinate_transformation_mode 为“tf_crop_and_resize”且 x_original 超出范围 [0, length_original - 1] 时,此值用作相应的输出值。默认值为 0.0f。
mode - STRING (默认为
'nearest')三种插值模式:最近邻(默认)、线性插值和三次插值。“linear”模式包括一维张量的线性插值和 N 维张量的 N 线性插值(例如,二维张量的双线性插值)。“cubic”模式包括一维张量的三次插值和 N 维张量的 N 三次插值(例如,二维张量的双三次插值)。
nearest_mode - STRING (默认为
'round_prefer_floor')四种模式:round_prefer_floor(默认,又称向下取半)、round_prefer_ceil(又称向上取半)、floor、ceil。仅用于最近邻插值。它表示如何从 x_original 获取输入张量中的“最近”像素,因此此属性仅在“mode”为“nearest”时有效。
输入¶
3 到 4 个输入之间。
X (异构) - T1
N 维张量
roi (异构) - T2
一维张量,形式为 [start1, ..., startN, end1, ..., endN],其中 N 是 X 的秩。RoI 的坐标在输入图像的坐标系中归一化。它仅在 coordinate_transformation_mode 为“tf_crop_and_resize”时生效。
scales (异构) - tensor(float)
沿每个维度的比例数组。其值大于 0。如果小于 1,则为降采样,否则为上采样。“scales”的元素数量应与输入“X”的秩相同。如果需要“size”,用户必须将“scales”设置为空张量。
sizes (可选,异构) - tensor(int64)
输出张量的大小。“sizes”的元素数量应与输入“X”的秩相同。只有当“scales”设置为空张量时才能设置此项。
输出¶
Y(异构)- T1
调整大小后的 N 维张量
类型约束¶
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))将 roi 类型约束为 float 或 double。
Resize - 10¶
版本¶
名称: Resize (GitHub)
域:
mainsince_version:
10函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的操作符已在 版本 10 中提供。
摘要¶
调整输入张量的大小。输出张量的每个维度值是:output_dimension = floor(input_dimension * scale)。
属性¶
mode - STRING (默认为
'nearest')两种插值模式:最近邻(默认)和线性(包括双线性、三线性等)
输入¶
X (异构) - T
N 维张量
scales (异构) - tensor(float)
沿每个维度的比例数组。其值大于 0。如果小于 1,则为降采样,否则为上采样。“scales”的元素数量应与输入“X”的秩相同。
输出¶
Y (异构) - T
调整大小后的 N 维张量
类型约束¶
T 在 (
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”约束为所有张量类型。