连接 (Concatenation)¶
将输入张量连接成一个输出张量。
属性 (Attributes)¶
axis 应用连接的轴。对于秩为 n
的输入,默认值为 \(max(0, n-3)\)。
输入 (Inputs)¶
inputs: 类型为 T
的张量。最多 10000 个张量。
输出 (Outputs)¶
output: 类型为 T
的张量。
数据类型 (Data Types)¶
T: bool
, int8
, int32
, int64
, float16
, float32
, bfloat16
形状信息 (Shape Information)¶
inputs 秩为 n
的张量。张量的形状必须匹配,排除 axis
维度。
output 秩为 n
的张量。形状与输入张量的形状匹配,排除 axis
维度,该维度是所有输入张量的 axis
维度的总和。
DLA 支持 (DLA Support)¶
DLA FP16 和 DLA INT8 支持仅跨 C
维度的连接。
示例 (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¶
有关 C++ IConcatenationLayer 算子的更多信息,请参阅 C++ IConcatenationLayer 文档。
Python API¶
有关 Python IConcatenationLayer 算子的更多信息,请参阅 Python IConcatenationLayer 文档。