ReverseSequence¶
ReverseSequence - 10¶
版本¶
域:
main
自版本:
10
函数:
False
支持级别:
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]] sequence_lens = [4, 3, 2, 1] time_axis = 0 batch_axis = 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]] sequence_lens = [1, 2, 3, 4] time_axis = 1 batch_axis = 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 之一。
输入¶
input (异构) - T
秩 r >= 2 的张量。
sequence_lens (异构) - tensor(int64)
指定批次中序列长度的张量。它具有形状
[batch_size]
。
输出¶
Y (异构) - T
与输入具有相同形状的张量。
类型约束¶
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)
)输入和输出类型可以是任何张量类型。