|
| split (const primitive_id &id, const primitive_id &input, const std::vector< std::pair< primitive_id, tensor > > &output_ids_offsets, const padding &output_padding=padding()) |
| Constructs split primitive. More...
|
|
| split (const dto *dto) |
| Constructs a copy from C API cldnn_split_desc.
|
|
const cldnn_primitive_desc * | get_dto () const override |
| Returns pointer to a C API primitive descriptor casted to cldnn_primitive_desc.
|
|
| primitive (const primitive_type_id &type, const primitive_id &id, const std::vector< primitive_id > &input, const padding &output_padding=padding()) |
|
| primitive (const cldnn_primitive_desc *dto) |
| Constructs a copy from basic C API cldnn_primitive_desc.
|
|
std::vector< std::reference_wrapper< primitive_id > > | dependecies () |
| Returns references to all primitive ids on which this primitive depends - inputs, weights, biases, etc.
|
|
std::vector< primitive_id > | dependecies () const |
| Returns copy of all primitive ids on which this primitive depends - inputs, weights, biases, etc.
|
|
| operator primitive_id () const |
| Implicit conversion to primiitive id.
|
|
Performs split operation on input.
splits the input data into n parts, for each user provides name and offsets.
User cannot use split primitive directly.
It is needed to refer to the output ids with the name "<split_prim_id>:<split_output_id>".
Assumptions
- offsets1 < offsets2 < offsets3 < ...
- size[n] = offsets[n+1] - offsets[n];
- last element: size[n] = split_input.size - offsets[n];
- no buffer overlapping, as the output size is calculated using offset and input size
- split primitive id cannot be used by any other primitive (user needs to use output_ids only)
Breaking any of this conditions will cause exeption throw.
Example:
Splitting output to 2 parts by the features:
input_size = { 2, 4, 3, 5 };
split_id = "split";
output_ids_offsets[0] = { "out0", { 0,0,0,0 } };
output_ids_offsets[1] = { "out1", { 0,2,0,0 } };
After split there would be 2 primitives: "split:out0" and "split:out1" which contain 2 feature maps (lower and upper)
Definition at line 51 of file split.hpp.