Unique¶
Unique - 11¶
版本¶
名称: Unique (GitHub)
域:
main起始版本:
11函数:
False支持级别:
SupportType.COMMON形状推断:
True
此版本的运算符自 版本 11 起可用。
摘要¶
查找张量中的唯一元素。当提供了可选属性“axis”时,返回沿“axis”切片的唯一子张量。否则,输入张量将被展平,并返回展平张量的唯一值。
此运算符返回输入张量的唯一值或切片的唯一子张量以及三个可选输出。第一个输出张量“Y”包含输入的所有唯一值或子张量。第二个可选输出张量“indices”包含“Y”元素在“X”中首次出现的索引。第三个可选输出张量“inverse_indices”包含“X”元素的对应索引在“Y”中的位置。第四个可选输出张量“counts”包含输入中“Y”的每个元素的计数。
输出按升序排序,或者可选地按值在输入中首次出现的顺序排序。
https://docs.scipy.org.cn/doc/numpy/reference/generated/numpy.unique.html
示例 1
input_X = [2, 1, 1, 3, 4, 3]
attribute_sorted = 0
attribute_axis = None
output_Y = [2, 1, 3, 4]
output_indices = [0, 1, 3, 4]
output_inverse_indices = [0, 1, 1, 2, 3, 2]
output_counts = [1, 2, 2, 1]
示例 2
input_X = [[1, 3], [2, 3]]
attribute_sorted = 1
attribute_axis = None
output_Y = [1, 2, 3]
output_indices = [0, 2, 1]
output_inverse_indices = [0, 2, 1, 2]
output_counts = [1, 1, 2]
示例 3
input_X = [[1, 0, 0], [1, 0, 0], [2, 3, 4]]
attribute_sorted = 1
attribute_axis = 0
output_Y = [[1, 0, 0], [2, 3, 4]]
output_indices = [0, 2]
output_inverse_indices = [0, 0, 1]
output_counts = [2, 1]
示例 4
input_x = [[[1., 1.], [0., 1.], [2., 1.], [0., 1.]],
[[1., 1.], [0., 1.], [2., 1.], [0., 1.]]]
attribute_sorted = 1
attribute_axis = 1
为了更好地理解,中间数据如下所示:输入_x(形状 = (2, 4, 2))沿轴 1 切片后有 4 个子张量
A: [[1, 1], [1, 1]],
[[0, 1], [0, 1]],
[[2, 1], [2, 1]],
[[0, 1], [0, 1]].
有 3 个唯一子张量
[[1, 1], [1, 1]],
[[0, 1], [0, 1]],
[[2, 1], [2, 1]].
排序后的唯一子张量
B: [[0, 1], [0, 1]],
[[1, 1], [1, 1]],
[[2, 1], [2, 1]].
output_Y 由 B 构建
[[[0. 1.], [1. 1.], [2. 1.]],
[[0. 1.], [1. 1.], [2. 1.]]]
output_indices 用于从 B 映射到 A
[1, 0, 2]
output_inverse_indices 用于从 A 映射到 B
[1, 0, 2, 0]
output_counts
[2, 1, 1]
属性¶
轴 - INT :
(可选)应用 unique 的维度。如果未指定,则返回展平输入的唯一元素。负值表示从后向前计算维度。接受范围是 [-r, r-1],其中 r = rank(input)。
sorted - INT (默认为
'1')(可选)在作为输出返回之前,是否按升序对唯一元素进行排序。必须是 0 或 1(默认值)之一。
输入¶
X (异构) - T
要处理的 N 维输入张量。
输出¶
介于 1 到 4 个输出之间。
Y (异构) - T
一个与“X”类型相同的张量,包含“X”中所有唯一值或沿给定“axis”切片的子张量,要么已排序,要么保持与它们在输入“X”中出现的顺序相同
indices (可选, 异构) - tensor(int64)
一个 1 维 INT64 张量,包含“Y”元素在“X”中首次出现的索引。当提供了“axis”时,它包含输入“X”中沿“axis”的子张量索引。当未提供“axis”时,它包含展平输入张量中值的索引。
inverse_indices (可选, 异构) - tensor(int64)
一个 1 维 INT64 张量,包含“X”元素的对应索引在“Y”中的位置。当提供了“axis”时,它包含输出“Y”中沿“axis”的子张量索引。当未提供“axis”时,它包含输出“Y”中值的索引。
counts (可选, 异构) - tensor(int64)
一个 1 维 INT64 张量,包含输入“X”中“Y”的每个元素的计数
类型约束¶
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))输入可以是任何张量类型。