The concat primitive concatenates \(N\) tensors over concat_axis
(here designated as \(C\) axis) and defined as:
\[ dst(\overline{ou}, c, \overline{in}) = src_i(\overline{ou}, c', \overline{in}), \]
where \(c = C_1 + .. + C_{i-1} {}_{} + c'\).
The concat primitive doesn't have a notion of forward or backward propagations. The backward propagation for the concatenation operation is simply an identity operation.
concat_axis
. The destination dimension for the concat_axis
must be equal to the sum of the concat_axis
dimensions of the sources (i.e. \(C = \sum_i C_i\)). Implicit broadcasting is not supported.The concat primitive supports arbitrary data types for source and destination tensors according to the Data Types page. However, it is required that all source tensors are of the same data type (but not necessarily matching the data type of the destination tensor).
The concat primitive works with arbitrary data tensors. There is no special meaning associated with any logical dimensions.
The concat primitive doesn't support any post-ops or attributes.