Pad¶
Pad - 24¶
版本¶
名称: Pad (GitHub)
域:
main
起始版本:
24
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的操作符已可用于版本 24 及以上。
摘要¶
给定一个包含待填充数据(data
)的张量,一个包含每个轴的起始和结束填充值(pads
)的张量,(可选地)一个 mode
,以及(可选地)constant_value
,生成一个填充后的张量(output
)。
支持的三种 mode
(类似于 numpy.pad
支持的相应模式)如下:
constant
(默认)- 使用constant_value
指定的给定常量值进行填充(默认为 0、空字符串或 False)reflect
- 沿每个轴使用向量第一个和最后一个值的镜像反射进行填充edge
- 使用数组的边缘值进行填充wrap
- 环绕填充,如同数据张量形成一个环面
示例 1 (constant
模式)
在第二维的开头插入 0 填充。
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [
[0.0, 0.0, 1.0, 1.2],
[0.0, 0.0, 2.3, 3.4],
[0.0, 0.0, 4.5, 5.7],
]
示例 2 (reflect
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [
[1.0, 1.2, 1.0, 1.2],
[2.3, 3.4, 2.3, 3.4],
[4.5, 5.7, 4.5, 5.7],
]
示例 3 (edge
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [
[1.0, 1.0, 1.0, 1.2],
[2.3, 2.3, 2.3, 3.4],
[4.5, 4.5, 4.5, 5.7],
]
示例 4 (wrap
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [2, 1, 1, 1]
mode = 'wrap'
output = [
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
]
属性¶
mode - 字符串 (默认为
'constant'
)支持的模式:
constant
(默认)、reflect
、edge
、wrap
输入¶
2 到 4 个输入。
data (异构) - T
输入张量。
pads (异构) - 张量(int64)
一个整数张量,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入张量,它是像素的数量。
pads
应该是一个形状为 [2 * num_axes] 的 1D 张量,其中num_axes
指的是axes
输入中的元素数量,如果未显式提供axes
,则指输入秩。pads
格式应为:[x1_begin, x2_begin, …, x1_end, x2_end,…],其中 xi_begin 是在轴axes[i]
的开头添加的填充值数量,xi_end 是在轴axes[i]
的结尾添加的填充值数量。constant_value (可选,异构) - T
(可选) 如果选择的模式是
constant
,则使用的标量值(默认为 0、空字符串或 False)。axes (可选,异构) - Tind
一个 1D 张量,表示
pads
应用的轴。负值表示从后向前计算维度。接受的范围是 [-r, r-1],其中 r = rank(data)。如果轴重复,行为未定义。如果未提供,则假定所有轴([0, 1, ..., input_rank-1]
)。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
tensor(bfloat16)
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(float4e2m1)
,tensor(float8e4m3fn)
,tensor(float8e4m3fnuz)
,tensor(float8e5m2)
,tensor(float8e5m2fnuz)
,tensor(float8e8m0)
,tensor(int16)
,tensor(int32)
,tensor(int4)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint4)
,tensor(uint64)
,tensor(uint8)
)将输入和输出类型限制为 IRv12 及以前的所有张量类型。
Tind 在 (
tensor(int32)
,tensor(int64)
)将索引限制为整数类型
Pad - 23¶
版本¶
名称: Pad (GitHub)
域:
main
起始版本:
23
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的操作符已可用于版本 23 及以上。
摘要¶
给定一个包含待填充数据(data
)的张量,一个包含每个轴的起始和结束填充值(pads
)的张量,(可选地)一个 mode
,以及(可选地)constant_value
,生成一个填充后的张量(output
)。
支持的三种 mode
(类似于 numpy.pad
支持的相应模式)如下:
constant
(默认)- 使用constant_value
指定的给定常量值进行填充(默认为 0、空字符串或 False)reflect
- 沿每个轴使用向量第一个和最后一个值的镜像反射进行填充edge
- 使用数组的边缘值进行填充wrap
- 环绕填充,如同数据张量形成一个环面
示例 1 (constant
模式)
在第二维的开头插入 0 填充。
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [
[0.0, 0.0, 1.0, 1.2],
[0.0, 0.0, 2.3, 3.4],
[0.0, 0.0, 4.5, 5.7],
]
示例 2 (reflect
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [
[1.0, 1.2, 1.0, 1.2],
[2.3, 3.4, 2.3, 3.4],
[4.5, 5.7, 4.5, 5.7],
]
示例 3 (edge
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [
[1.0, 1.0, 1.0, 1.2],
[2.3, 2.3, 2.3, 3.4],
[4.5, 4.5, 4.5, 5.7],
]
示例 4 (wrap
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [2, 1, 1, 1]
mode = 'wrap'
output = [
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
]
属性¶
mode - 字符串 (默认为
'constant'
)支持的模式:
constant
(默认)、reflect
、edge
、wrap
输入¶
2 到 4 个输入。
data (异构) - T
输入张量。
pads (异构) - 张量(int64)
一个整数张量,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入张量,它是像素的数量。
pads
应该是一个形状为 [2 * num_axes] 的 1D 张量,其中num_axes
指的是axes
输入中的元素数量,如果未显式提供axes
,则指输入秩。pads
格式应为:[x1_begin, x2_begin, …, x1_end, x2_end,…],其中 xi_begin 是在轴axes[i]
的开头添加的填充值数量,xi_end 是在轴axes[i]
的结尾添加的填充值数量。constant_value (可选,异构) - T
(可选) 如果选择的模式是
constant
,则使用的标量值(默认为 0、空字符串或 False)。axes (可选,异构) - Tind
一个 1D 张量,表示
pads
应用的轴。负值表示从后向前计算维度。接受的范围是 [-r, r-1],其中 r = rank(data)。如果轴重复,行为未定义。如果未提供,则假定所有轴([0, 1, ..., input_rank-1]
)。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
tensor(bfloat16)
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(float4e2m1)
,tensor(float8e4m3fn)
,tensor(float8e4m3fnuz)
,tensor(float8e5m2)
,tensor(float8e5m2fnuz)
,tensor(int16)
,tensor(int32)
,tensor(int4)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint4)
,tensor(uint64)
,tensor(uint8)
)将输入和输出类型限制为 IRv11 及以前的所有张量类型。
Tind 在 (
tensor(int32)
,tensor(int64)
)将索引限制为整数类型
Pad - 21¶
版本¶
名称: Pad (GitHub)
域:
main
since_version:
21
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的操作符自 版本 21 起可用。
摘要¶
给定一个包含待填充数据(data
)的张量,一个包含每个轴的起始和结束填充值(pads
)的张量,(可选地)一个 mode
,以及(可选地)constant_value
,生成一个填充后的张量(output
)。
支持的三种 mode
(类似于 numpy.pad
支持的相应模式)如下:
constant
(默认)- 使用constant_value
指定的给定常量值进行填充(默认为 0、空字符串或 False)reflect
- 沿每个轴使用向量第一个和最后一个值的镜像反射进行填充edge
- 使用数组的边缘值进行填充wrap
- 环绕填充,如同数据张量形成一个环面
示例 1 (constant
模式)
在第二维的开头插入 0 填充。
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [
[0.0, 0.0, 1.0, 1.2],
[0.0, 0.0, 2.3, 3.4],
[0.0, 0.0, 4.5, 5.7],
]
示例 2 (reflect
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [
[1.0, 1.2, 1.0, 1.2],
[2.3, 3.4, 2.3, 3.4],
[4.5, 5.7, 4.5, 5.7],
]
示例 3 (edge
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [
[1.0, 1.0, 1.0, 1.2],
[2.3, 2.3, 2.3, 3.4],
[4.5, 4.5, 4.5, 5.7],
]
示例 4 (wrap
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [2, 1, 1, 1]
mode = 'wrap'
output = [
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
]
属性¶
mode - 字符串 (默认为
'constant'
)支持的模式:
constant
(默认)、reflect
、edge
、wrap
输入¶
2 到 4 个输入。
data (异构) - T
输入张量。
pads (异构) - 张量(int64)
一个整数张量,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入张量,它是像素的数量。
pads
应该是一个形状为 [2 * num_axes] 的 1D 张量,其中num_axes
指的是axes
输入中的元素数量,如果未显式提供axes
,则指输入秩。pads
格式应为:[x1_begin, x2_begin, …, x1_end, x2_end,…],其中 xi_begin 是在轴axes[i]
的开头添加的填充值数量,xi_end 是在轴axes[i]
的结尾添加的填充值数量。constant_value (可选,异构) - T
(可选) 如果选择的模式是
constant
,则使用的标量值(默认为 0、空字符串或 False)。axes (可选,异构) - Tind
一个 1D 张量,表示
pads
应用的轴。负值表示从后向前计算维度。接受的范围是 [-r, r-1],其中 r = rank(data)。如果轴重复,行为未定义。如果未提供,则假定所有轴([0, 1, ..., input_rank-1]
)。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
tensor(bfloat16)
,tensor(bool)
,tensor(complex128)
,tensor(complex64)
,tensor(double)
,tensor(float)
,tensor(float16)
,tensor(float8e4m3fn)
,tensor(float8e4m3fnuz)
,tensor(float8e5m2)
,tensor(float8e5m2fnuz)
,tensor(int16)
,tensor(int32)
,tensor(int4)
,tensor(int64)
,tensor(int8)
,tensor(string)
,tensor(uint16)
,tensor(uint32)
,tensor(uint4)
,tensor(uint64)
,tensor(uint8)
)将输入和输出类型限制为 IRv10 及以前的所有张量类型。
Tind 在 (
tensor(int32)
,tensor(int64)
)将索引限制为整数类型
Pad - 19¶
版本¶
名称: Pad (GitHub)
域:
main
since_version:
19
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的操作符自 版本 19 起可用。
摘要¶
给定一个包含待填充数据(data
)的张量,一个包含每个轴的起始和结束填充值(pads
)的张量,(可选地)一个 mode
,以及(可选地)constant_value
,生成一个填充后的张量(output
)。
支持的三种 mode
(类似于 numpy.pad
支持的相应模式)如下:
constant
(默认)- 使用constant_value
指定的给定常量值进行填充(默认为 0、空字符串或 False)reflect
- 沿每个轴使用向量第一个和最后一个值的镜像反射进行填充edge
- 使用数组的边缘值进行填充wrap
- 环绕填充,如同数据张量形成一个环面
示例 1 (constant
模式)
在第二维的开头插入 0 填充。
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [
[0.0, 0.0, 1.0, 1.2],
[0.0, 0.0, 2.3, 3.4],
[0.0, 0.0, 4.5, 5.7],
]
示例 2 (reflect
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [
[1.0, 1.2, 1.0, 1.2],
[2.3, 3.4, 2.3, 3.4],
[4.5, 5.7, 4.5, 5.7],
]
示例 3 (edge
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [
[1.0, 1.0, 1.0, 1.2],
[2.3, 2.3, 2.3, 3.4],
[4.5, 4.5, 4.5, 5.7],
]
示例 4 (wrap
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [2, 1, 1, 1]
mode = 'wrap'
output = [
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
[3.4, 2.3, 3.4, 2.3],
[5.7, 4.5, 5.7, 4.5],
[1.2, 1.0, 1.2, 1.0],
]
属性¶
mode - 字符串 (默认为
'constant'
)支持的模式:
constant
(默认)、reflect
、edge
、wrap
输入¶
2 到 4 个输入。
data (异构) - T
输入张量。
pads (异构) - 张量(int64)
一个整数张量,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入张量,它是像素的数量。
pads
应该是一个形状为 [2 * num_axes] 的 1D 张量,其中num_axes
指的是axes
输入中的元素数量,如果未显式提供axes
,则指输入秩。pads
格式应为:[x1_begin, x2_begin, …, x1_end, x2_end,…],其中 xi_begin 是在轴axes[i]
的开头添加的填充值数量,xi_end 是在轴axes[i]
的结尾添加的填充值数量。constant_value (可选,异构) - T
(可选) 如果选择的模式是
constant
,则使用的标量值(默认为 0、空字符串或 False)。axes (可选,异构) - Tind
一个 1D 张量,表示
pads
应用的轴。负值表示从后向前计算维度。接受的范围是 [-r, r-1],其中 r = rank(data)。如果轴重复,行为未定义。如果未提供,则假定所有轴([0, 1, ..., input_rank-1]
)。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
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)
)将输入和输出类型限制为所有张量类型。
Tind 在 (
tensor(int32)
,tensor(int64)
)将索引限制为整数类型
Pad - 18¶
版本¶
名称: Pad (GitHub)
域:
main
起始版本:
18
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的操作符自版本 18 起可用。
摘要¶
给定一个包含待填充数据(data
)的张量,一个包含每个轴的起始和结束填充值(pads
)的张量,(可选地)一个 mode
,以及(可选地)constant_value
,生成一个填充后的张量(output
)。
支持的三种 mode
(类似于 numpy.pad
支持的相应模式)如下:
constant
(默认)- 使用constant_value
指定的给定常量值进行填充(默认为 0、空字符串或 False)reflect
- 沿每个轴使用向量第一个和最后一个值的镜像反射进行填充edge
- 使用数组的边缘值进行填充
示例 1 (constant
模式)
在第二维的开头插入 0 填充。
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [
[0.0, 0.0, 1.0, 1.2],
[0.0, 0.0, 2.3, 3.4],
[0.0, 0.0, 4.5, 5.7],
]
示例 2 (reflect
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [
[1.0, 1.2, 1.0, 1.2],
[2.3, 3.4, 2.3, 3.4],
[4.5, 5.7, 4.5, 5.7],
]
示例 3 (edge
模式)
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [
[1.0, 1.0, 1.0, 1.2],
[2.3, 2.3, 2.3, 3.4],
[4.5, 4.5, 4.5, 5.7],
]
属性¶
mode - 字符串 (默认为
'constant'
)支持的模式:
constant
(默认)、reflect
、edge
输入¶
2 到 4 个输入。
data (异构) - T
输入张量。
pads (异构) - 张量(int64)
一个整数张量,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入张量,它是像素的数量。
pads
应该是一个形状为 [2 * num_axes] 的 1D 张量,其中num_axes
指的是axes
输入中的元素数量,如果未显式提供axes
,则指输入秩。pads
格式应为:[x1_begin, x2_begin, …, x1_end, x2_end,…],其中 xi_begin 是在轴axes[i]
的开头添加的填充值数量,xi_end 是在轴axes[i]
的结尾添加的填充值数量。constant_value (可选,异构) - T
(可选) 如果选择的模式是
constant
,则使用的标量值(默认为 0、空字符串或 False)。axes (可选,异构) - Tind
一个 1D 张量,表示
pads
应用的轴。负值表示从后向前计算维度。接受的范围是 [-r, r-1],其中 r = rank(data)。如果轴重复,行为未定义。如果未提供,则假定所有轴([0, 1, ..., input_rank-1]
)。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
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)
)将输入和输出类型限制为所有张量类型。
Tind 在 (
tensor(int32)
,tensor(int64)
)将索引限制为整数类型
Pad - 13¶
版本¶
名称: Pad (GitHub)
域:
main
起始版本:
13
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自 版本 13 起可用。
摘要¶
给定一个包含待填充数据(data
)的张量,一个包含每个轴的起始和结束填充值(pads
)的张量,(可选地)一个 mode
,以及(可选地)constant_value
,生成一个填充后的张量(output
)。
支持的三种 mode
(类似于 numpy.pad
支持的相应模式)如下:
constant
(默认)- 使用constant_value
指定的给定常量值进行填充(默认为 0、空字符串或 False)reflect
- 沿每个轴使用向量第一个和最后一个值的镜像反射进行填充edge
- 使用数组的边缘值进行填充
示例 1 (constant
模式):在第二维的开头插入 0 填充。
data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [ [0.0, 0.0, 1.0, 1.2], [0.0, 0.0, 2.3, 3.4], [0.0, 0.0, 4.5, 5.7], ]
示例 2 (reflect
模式):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [ [1.0, 1.2, 1.0, 1.2], [2.3, 3.4, 2.3, 3.4], [4.5, 5.7, 4.5, 5.7], ]
示例 3 (edge
模式):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [ [1.0, 1.0, 1.0, 1.2], [2.3, 2.3, 2.3, 3.4], [4.5, 4.5, 4.5, 5.7], ]
属性¶
mode - 字符串 (默认为
'constant'
)支持的模式:
constant
(默认)、reflect
、edge
输入¶
2 到 3 个输入之间。
data (异构) - T
输入张量。
pads (异构) - 张量(int64)
一个整数张量,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入张量,它是像素的数量。
pads
应该是一个形状为 [2 * input_rank] 的 1D 张量。pads
格式应为:[x1_begin, x2_begin,…,x1_end, x2_end,…],其中 xi_begin 是在轴i
的开头添加的填充值数量,xi_end 是在轴i
的结尾添加的填充值数量。constant_value (可选,异构) - T
(可选) 如果选择的模式是
constant
,则使用的标量值(默认为 0、空字符串或 False)。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
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)
)将输入和输出类型限制为所有张量类型。
Pad - 11¶
版本¶
名称: Pad (GitHub)
域:
main
起始版本:
11
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符自 版本 11 起可用。
摘要¶
给定一个包含待填充数据(data
)的张量,一个包含每个轴的起始和结束填充值(pads
)的张量,(可选地)一个 mode
,以及(可选地)constant_value
,生成一个填充后的张量(output
)。
支持的三种 mode
(类似于 numpy.pad
支持的相应模式)如下:
constant
(默认)- 使用constant_value
指定的给定常量值进行填充(默认为 0)reflect
- 沿每个轴使用向量第一个和最后一个值的镜像反射进行填充edge
- 使用数组的边缘值进行填充
示例 1 (constant
模式):在第二维的开头插入 0 填充。
data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'constant'
constant_value = 0.0
output = [ [0.0, 0.0, 1.0, 1.2], [0.0, 0.0, 2.3, 3.4], [0.0, 0.0, 4.5, 5.7], ]
示例 2 (reflect
模式):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'reflect'
output = [ [1.0, 1.2, 1.0, 1.2], [2.3, 3.4, 2.3, 3.4], [4.5, 5.7, 4.5, 5.7], ]
示例 3 (edge
模式):data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ]
pads = [0, 2, 0, 0]
mode = 'edge'
output = [ [1.0, 1.0, 1.0, 1.2], [2.3, 2.3, 2.3, 3.4], [4.5, 4.5, 4.5, 5.7], ]
属性¶
mode - 字符串 (默认为
'constant'
)支持的模式:
constant
(默认)、reflect
、edge
输入¶
2 到 3 个输入之间。
data (异构) - T
输入张量。
pads (异构) - 张量(int64)
一个整数张量,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入张量,它是像素的数量。
pads
应该是一个形状为 [2 * input_rank] 的 1D 张量。pads
格式应为:[x1_begin, x2_begin,…,x1_end, x2_end,…],其中 xi_begin 是在轴i
的开头添加的填充值数量,xi_end 是在轴i
的结尾添加的填充值数量。constant_value (可选,异构) - T
(可选) 如果选择的模式是
constant
,则使用的标量值(默认为 0)。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
tensor(double)
,tensor(float)
,tensor(float16)
,tensor(int16)
,tensor(int32)
,tensor(int64)
,tensor(int8)
,tensor(uint16)
,tensor(uint32)
,tensor(uint64)
,tensor(uint8)
)将输入和输出限制为仅数值类型。
Pad - 2¶
版本¶
名称: Pad (GitHub)
域:
main
since_version:
2
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此操作符版本自 版本 2 起可用。
摘要¶
给定 data
张量、填充、模式和值。示例:在第二维的开头插入 0 填充。data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ] pads = [0, 2, 0, 0] output = [ [ [0.0, 0.0, 1.0, 1.2], [0.0, 0.0, 2.3, 3.4], [0.0, 0.0, 4.5, 5.7], ], ]
属性¶
mode - 字符串 (默认为
'constant'
)三种模式:constant(默认)、reflect、edge
pads - 整数 (必填)
一个整数列表,表示在每个轴的开头和结尾添加或移除(如果为负)的填充元素数量。对于 2D 输入,它是像素的数量。
pads
的秩应为输入秩的两倍。pads
格式应为 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是在轴i
的开头添加的像素数量,xi_end 是在轴i
的结尾添加的像素数量。value - 浮点数 (默认为
'0.0'
)一个浮点数,表示要填充的值。
输入¶
data (异构) - T
输入张量。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
tensor(double)
,tensor(float)
,tensor(float16)
)将输入和输出类型限制为浮点张量。
Pad - 1¶
版本¶
名称: Pad (GitHub)
域:
main
起始版本:
1
函数:
False
支持级别:
SupportType.COMMON
形状推断:
False
此版本的运算符自 版本 1 起可用。
摘要¶
给定 data
张量、填充、模式和值。示例:在第二维的开头插入 0 填充。data = [ [1.0, 1.2], [2.3, 3.4], [4.5, 5.7], ] paddings = [0, 0, 2, 0] output = [ [ [0.0, 0.0, 1.0, 1.2], [0.0, 0.0, 2.3, 3.4], [0.0, 0.0, 4.5, 5.7], ], ]
属性¶
mode - 字符串 (默认为
'constant'
)三种模式:constant(默认)、reflect、edge
paddings - 整数 (必填)
一个整数列表,表示在每个轴的开头和结尾的填充元素数量,对于 2D 输入,它是像素的数量。
paddings
的秩应为输入秩的两倍。paddings
格式应为 [x1_begin, x2_begin…x1_end, x2_end,…],其中 xi_begin 是在轴i
的开头添加的像素数量,xi_end 是在轴i
的结尾添加的像素数量。value - 浮点数 (默认为
'0.0'
)一个浮点数,表示要填充的值,默认为 0
输入¶
data (异构) - T
输入张量。
输出¶
输出 (异构) - T
填充后的张量。
类型约束¶
T 包含 (
tensor(double)
,tensor(float)
,tensor(float16)
)将输入和输出类型限制为浮点张量。