将两个输入张量在指定维度拼接成一个输出张量。
Concat 算子的功能是将两个输入张量在指定维度拼接成一个输出张量。
struct ConcatParam { int concatDim = 0; };
成员名称 |
类型 |
默认值 |
描述 |
---|---|---|---|
concatDim |
int |
0 |
指定拼接的维度索引。 假设拼接的维度索引为k,x维度数为dimNum:
|
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
x |
[x_dim_0,x_dim_1,... ,x_dim_n] |
float16/bf16 |
ND |
需要被拼接的tensor。 |
y |
[y_dim_0,y_dim_1,... ,y_dim_n] |
float16/bf16 |
ND |
需要被拼接的tensor。除了y_dim_k之外,其余维度与x相同。 |
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
output |
[dim_0,dim_1,... ,dim_n] |
float16/bf16 |
ND |
拼接后的tensor。 |
x shape = [3, 2, 3]: [[[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]], [[1.0, 1.0, 1.0], [1.0, 1.0, 1.0]]] y shape = [3, 1, 3]: [[[2.0, 2.0, 2.0]], [[2.0, 2.0, 2.0]], [[2.0, 2.0, 2.0]]] param.concatDim = 1(或-2)
output shape = [3, 3, 3] [[[1.0, 1.0, 1.0], [1.0, 1.0, 1.0], [2.0, 2.0, 2.0]], [[1.0, 1.0, 1.0], [1.0, 1.0, 1.0], [2.0, 2.0, 2.0]], [[1.0, 1.0, 1.0], [1.0, 1.0, 1.0], [2.0, 2.0, 2.0]]]