Gather¶
Gather - 13¶
版本¶
名称: Gather (GitHub)
域:
main
since_version:
13
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符已于版本 13开始提供。
摘要¶
给定秩 r >= 1 的 data
张量和秩 q 的 indices
张量,收集 data
轴维度的条目(默认情况下为最外层维度,因为 axis=0),这些条目由 indices
索引,并将它们连接到秩 q + (r - 1) 的输出张量中。
如果 axis = 0
,令 k = indices[i_{0}, ..., i_{q-1}]
,则 output[i_{0}, ..., i_{q-1}, j_{0}, ..., j_{r-2}] = input[k , j_{0}, ..., j_{r-2}]
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
indices = [
[0, 1],
[1, 2],
]
output = [
[
[1.0, 1.2],
[2.3, 3.4],
],
[
[2.3, 3.4],
[4.5, 5.7],
],
]
如果 axis = 1
,令 k = indices[i_{0}, ..., i_{q-1}]
,则 output[j_{0}, i_{0}, ..., i_{q-1}, j_{1}, ..., j_{r-2}] = input[j_{0}, k, j_{1}, ..., j_{r-2}]
data = [
[1.0, 1.2, 1.9],
[2.3, 3.4, 3.9],
[4.5, 5.7, 5.9],
]
indices = [
[0, 2],
]
axis = 1,
output = [
[[1.0, 1.9]],
[[2.3, 3.9]],
[[4.5, 5.9]],
]
属性¶
axis - INT (默认值为
'0'
)要收集的轴。负值表示从后面计算维度。接受范围为 [-r, r-1],其中 r = rank(data)。
输入¶
data (异构) - T
秩 r >= 1 的张量。
indices (异构) - Tind
任意秩 q 的 int32/int64 索引张量。所有索引值预计都在轴的边界 [-s, s-1] 内,该轴的大小为 s。如果任何索引值超出边界,则会出错。
输出¶
output (异构) - T
秩 q + (r - 1) 的张量。
类型约束¶
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)
)将索引约束为整数类型
Gather - 11¶
版本¶
名称: Gather (GitHub)
域:
main
since_version:
11
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符已于版本 11开始提供。
摘要¶
给定秩 r >= 1 的 data
张量和秩 q 的 indices
张量,收集 data
轴维度的条目(默认情况下为最外层维度,因为 axis=0),这些条目由 indices
索引,并将它们连接到秩 q + (r - 1) 的输出张量中。
axis = 0
令 k = indices[i_{0}, …, i_{q-1}],则 output[i_{0}, …, i_{q-1}, j_{0}, …, j_{r-2}] = input[k , j_{0}, …, j_{r-2}]
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
indices = [
[0, 1],
[1, 2],
]
output = [
[
[1.0, 1.2],
[2.3, 3.4],
],
[
[2.3, 3.4],
[4.5, 5.7],
],
]
axis = 1
令 k = indices[i_{0}, …, i_{q-1}],则 output[j_{0}, i_{0}, …, i_{q-1}, j_{1}, …, j_{r-2}] = input[j_{0}, k, j_{1}, …, j_{r-2}]
data = [
[1.0, 1.2, 1.9],
[2.3, 3.4, 3.9],
[4.5, 5.7, 5.9],
]
indices = [
[0, 2],
]
axis = 1,
output = [
[[1.0, 1.9]],
[[2.3, 3.9]],
[[4.5, 5.9]],
]
属性¶
axis - INT (默认值为
'0'
)要收集的轴。负值表示从后面计算维度。接受范围为 [-r, r-1],其中 r = rank(data)。
输入¶
data (异构) - T
秩 r >= 1 的张量。
indices (异构) - Tind
任意秩 q 的 int32/int64 索引张量。所有索引值预计都在轴的边界 [-s, s-1] 内,该轴的大小为 s。如果任何索引值超出边界,则会出错。
输出¶
output (异构) - T
秩 q + (r - 1) 的张量。
类型约束¶
T 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)
)将输入和输出类型约束为任何张量类型。
Tind 在 (
tensor(int32)
,tensor(int64)
)将索引约束为整数类型
Gather - 1¶
版本¶
名称: Gather (GitHub)
域:
main
since_version:
1
函数:
False
支持级别:
SupportType.COMMON
形状推断:
True
此版本的运算符已在版本 1中提供。
摘要¶
给定秩为 r >= 1 的 data
张量,以及秩为 q 的 indices
张量,收集 data
的轴维度的条目(默认情况下,最外层维度为 axis=0),索引由 indices
指定,并将它们连接在一个秩为 q + (r - 1) 的输出张量中。示例 1
data = [
[1.0, 1.2],
[2.3, 3.4],
[4.5, 5.7],
]
indices = [
[0, 1],
[1, 2],
]
output = [
[
[1.0, 1.2],
[2.3, 3.4],
],
[
[2.3, 3.4],
[4.5, 5.7],
],
]
示例 2
data = [
[1.0, 1.2, 1.9],
[2.3, 3.4, 3.9],
[4.5, 5.7, 5.9],
]
indices = [
[0, 2],
]
axis = 1,
output = [
[[1.0, 1.9]],
[[2.3, 3.9]],
[[4.5, 5.9]],
]
属性¶
axis - INT (默认值为
'0'
)要收集的轴。负值表示从后往前计算维度。接受的范围是 [-r, r-1]
输入¶
data (异构) - T
秩 r >= 1 的张量。
indices (异构) - Tind
任何秩 q 的 int32/int64 索引张量。所有索引值都应在范围内。如果任何索引值超出范围,则会出错。
输出¶
output (异构) - T
秩 q + (r - 1) 的张量。
类型约束¶
T 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)
)将输入和输出类型约束为任何张量类型。
Tind 在 (
tensor(int32)
,tensor(int64)
)将索引约束为整数类型