ReverseSequence¶
ReverseSequence - 10¶
版本¶
name: ReverseSequence (GitHub)
域名:
mainsince_version:
10函数:
Falsesupport_level:
SupportType.COMMON形状推断:
True
此版本的运算符自版本10起可用。
摘要¶
反转一批由sequence_lens指定不同长度的序列。
对于在批次轴上迭代的每个切片i,操作符会反转时间轴上的前sequence_lens[i]个元素,并将索引超过sequence_lens[i]的元素复制到输出中。因此,输出切片i在前sequence_lens[i]个元素上包含反转的序列,然后复制其他元素的原始值。
示例1: 输入 = [[0.0, 4.0, 8.0, 12.0], [1.0, 5.0, 9.0, 13.0], [2.0, 6.0, 10.0, 14.0], [3.0, 7.0, 11.0, 15.0]] 序列长度 = [4, 3, 2, 1] 时间轴 = 0 批次轴 = 1
输出 = [[3.0, 6.0, 9.0, 12.0], [2.0, 5.0, 8.0, 13.0], [1.0, 4.0, 10.0, 14.0], [0.0, 7.0, 11.0, 15.0]]
示例 2: 输入 = [[0.0, 1.0, 2.0, 3.0 ], [4.0, 5.0, 6.0, 7.0 ], [8.0, 9.0, 10.0, 11.0], [12.0, 13.0, 14.0, 15.0]] 序列长度 = [1, 2, 3, 4] 时间轴 = 1 批次轴 = 0
输出 = [[0.0, 1.0, 2.0, 3.0 ], [5.0, 4.0, 6.0, 7.0 ], [10.0, 9.0, 8.0, 11.0], [15.0, 14.0, 13.0, 12.0]]
属性¶
batch_axis - INT (默认为
'1'):(可选)指定哪个轴是批次轴。必须是1(默认)或0之一。
time_axis - INT (默认为
'0'):(可选)指定哪个轴是时间轴。必须是0(默认)或1之一。
输入¶
输入 (异构) - T:
秩为 r >= 2 的张量。
sequence_lens (异构) - tensor(int64):
指定批次中序列长度的张量。它的形状为
[batch_size]。
输出¶
Y (异构) - T:
与输入形状相同的张量。
类型约束¶
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)):输入和输出类型可以是任何张量类型。