SequenceAt#
Domain:
ai.onnxSince version: 11
Outputs a tensor copy from the tensor at ‘position’ in ‘input_sequence’.
Accepted range for ‘position’ is in [-n, n - 1], where n is the number of tensors in ‘input_sequence’.
Negative value means counting positions from the back.
Inputs
input_sequence (S): Input sequence.
position (I): Position of the tensor in the sequence. Negative value means counting positions from the back. Accepted range in
[-n, n - 1], wherenis the number of tensors in ‘input_sequence’. It is an error if any of the index values are out of bounds. It must be a scalar(tensor of empty shape).
Outputs
tensor (T): Output tensor at the specified position in the input sequence.
Type Constraints
S: Constrain to any tensor type. Allowed types: seq(tensor(bool)), seq(tensor(complex128)), seq(tensor(complex64)), seq(tensor(double)), seq(tensor(float)), seq(tensor(float16)), seq(tensor(int16)), seq(tensor(int32)), seq(tensor(int64)), seq(tensor(int8)), seq(tensor(string)), seq(tensor(uint16)), seq(tensor(uint32)), seq(tensor(uint64)), seq(tensor(uint8)).
T: Constrain to any tensor type. Allowed types: 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).
I: Constrain position to integral tensor. It must be a scalar(tensor of empty shape). Allowed types: tensor(int32), tensor(int64).
Examples#
test_cc_sequence_at_neg
Node:
SequenceAt(input_seq, position) -> (output_tensor)
Inputs:
input_seq: shape=(2, 3), dtype=float32
[[-1. , 0. , 1.5 ],
[-2.25, 3.5 , -4.75]]
position: shape=(2, 3), dtype=float32
[[0., 1., 2.],
[3., 4., 5.]]
input_2: shape=(2, 3), dtype=float32
[[ 6., 7., 8.],
[ 9., 10., 11.]]
input_3: shape=(), dtype=int64
-2
Outputs:
output_tensor: shape=(2, 3), dtype=float32
[[0., 1., 2.],
[3., 4., 5.]]
test_cc_sequence_at_pos0
Node:
SequenceAt(input_seq, position) -> (output_tensor)
Inputs:
input_seq: shape=(2, 3), dtype=float32
[[-1. , 0. , 1.5 ],
[-2.25, 3.5 , -4.75]]
position: shape=(2, 3), dtype=float32
[[0., 1., 2.],
[3., 4., 5.]]
input_2: shape=(2, 3), dtype=float32
[[ 6., 7., 8.],
[ 9., 10., 11.]]
input_3: shape=(), dtype=int64
0
Outputs:
output_tensor: shape=(2, 3), dtype=float32
[[-1. , 0. , 1.5 ],
[-2.25, 3.5 , -4.75]]
test_cc_sequence_at_pos2
Node:
SequenceAt(input_seq, position) -> (output_tensor)
Inputs:
input_seq: shape=(2, 3), dtype=float32
[[-1. , 0. , 1.5 ],
[-2.25, 3.5 , -4.75]]
position: shape=(2, 3), dtype=float32
[[0., 1., 2.],
[3., 4., 5.]]
input_2: shape=(2, 3), dtype=float32
[[ 6., 7., 8.],
[ 9., 10., 11.]]
input_3: shape=(), dtype=int64
2
Outputs:
output_tensor: shape=(2, 3), dtype=float32
[[ 6., 7., 8.],
[ 9., 10., 11.]]