ReverseSequence¶
反转由 sequence_lens
指定的不同长度的序列批次。
属性¶
batch_axis
指定哪个轴是批次轴。默认为 1。
sequence_axis
指定哪个轴是序列轴。默认为 0。
输入¶
input: 类型为 T
的张量。
sequence_lens: 类型为 int32
或 int64
的张量。
输出¶
Y: 类型为 T
的张量。
数据类型¶
T: float16
, float32
, int32
, int64
, int8
, bool
, bfloat16
形状信息¶
input 是一个形状为 \([a_0,...,a_n]\) 的张量
sequence_lens 是一个形状为 \([a_{batch_axis}]\) 的张量
Y 是一个形状为 \([a_0,...,a_n]\) 的张量
示例¶
ReverseSequence
in1 = network.add_input("input", dtype=trt.float32, shape=(4, 4))
in2 = network.add_input("sequence_lens", dtype=trt.int32, shape=(4,))
layer = network.add_reverse_sequence(in1, in2)
network.mark_output(layer.get_output(0))
inputs[in1.name] = np.array(
[
[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]
],
dtype=np.float32,
)
inputs[in2.name] = np.array([4, 3, 2, 1], dtype=np.int32)
outputs[layer.get_output(0).name] = layer.get_output(0).shape
expected[layer.get_output(0).name] = np.array(
[
[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]
],
dtype=np.float32,
)
C++ API¶
有关 C++ IReverseSequenceLayer 算子的更多信息,请参阅 C++ IReverseSequenceLayer 文档。
Python API¶
有关 Python IReverseSequenceLayer 算子的更多信息,请参阅 Python IReverseSequenceLayer 文档。