Concatenation¶
Concatenates input tensors into an output tensor.
Attributes¶
axis the axis on which the concatenation is applied. For inputs with rank n
, the default value is \(max(0, n-3)\).
Inputs¶
inputs: tensors of type T
. Limited up to 10000 tensors.
Outputs¶
output: tensor of type T
.
Data Types¶
T: bool
, int8
, int32
, float16
, float32
Shape Information¶
inputs tensors of rank n
. The tensors’ shapes must match, excluding the axis
dimension.
output tensor of rank n
. The shape is matching the inputs’ shape, excluding the axis
dimension, which is the sum of the axis
dimension of all input tensors.
Examples¶
Concatenation
in1 = network.add_input("input1", dtype=trt.float32, shape=(1, 1, 2, 5))
in2 = network.add_input("input2", dtype=trt.float32, shape=(1, 2, 2, 5))
in3 = network.add_input("input3", dtype=trt.float32, shape=(1, 1, 2, 5))
layer = network.add_concatenation([in1, in2, in3])
network.mark_output(layer.get_output(0))
inputs[in1.name] = np.array([[[[-3.0, -2.0, -1.0, 10.0, -25.0], [0.0, 1.0, 2.0, -2.0, -1.0]]]])
inputs[in2.name] = np.array(
[
[[[-3.0, -2.0, -1.0, 10.0, -25.0], [0.0, 1.0, 2.0, -2.0, -1.0]]],
[[[-4.0, -4.0, -4.0, -4.0, -4.0], [-4.0, -4.0, -4.0, -4.0, -4.0]]],
]
)
inputs[in3.name] = np.array([[[[-3.0, -2.0, -1.0, 10.0, -25.0], [0.0, 1.0, 2.0, -2.0, -1.0]]]])
outputs[layer.get_output(0).name] = layer.get_output(0).shape
expected[layer.get_output(0).name] = np.array(
[
[
[[-3.0, -2.0, -1.0, 10.0, -25.0], [0.0, 1.0, 2.0, -2.0, -1.0]],
[[-3.0, -2.0, -1.0, 10.0, -25.0], [0.0, 1.0, 2.0, -2.0, -1.0]],
[[-4.0, -4.0, -4.0, -4.0, -4.0], [-4.0, -4.0, -4.0, -4.0, -4.0]],
[[-3.0, -2.0, -1.0, 10.0, -25.0], [0.0, 1.0, 2.0, -2.0, -1.0]],
]
]
)
C++ API¶
For more information about the C++ IConcatenationLayer operator, refer to the C++ IConcatenationLayer documentation.
Python API¶
For more information about the Python IConcatenationLayer operator, refer to the Python IConcatenationLayer documentation.