* Doc Migration from Gitlab (#1289) * doc migration * fix * Update FakeQuantize_1.md * Update performance_benchmarks.md * Updates graphs for FPGA * Update performance_benchmarks.md * Change DL Workbench structure (#1) * Changed DL Workbench structure * Fixed tags * fixes * Update ie_docs.xml * Update performance_benchmarks_faq.md * Fixes in DL Workbench layout * Fixes for CVS-31290 * [DL Workbench] Minor correction * Fix for CVS-30955 * Added nGraph deprecation notice as requested by Zoe * fix broken links in api doxy layouts * CVS-31131 fixes * Additional fixes * Fixed POT TOC * Update PAC_Configure.md PAC DCP 1.2.1 install guide. * Update inference_engine_intro.md * fix broken link * Update opset.md * fix * added opset4 to layout * added new opsets to layout, set labels for them * Update VisionAcceleratorFPGA_Configure.md Updated from 2020.3 to 2020.4 Co-authored-by: domi2000 <domi2000@users.noreply.github.com>
3.6 KiB
VariadicSplit
Versioned name: VariadicSplit-1
Category: Data movement operations
Short description: VariadicSplit operation splits an input tensor into pieces along some axis. The pieces may have variadic lengths depending on "split_lengths" attribute.
Attributes
No attributes available.
Inputs
-
1:
data- A tensor of type T1. Required. -
2:
axis- An axis alongdatato split. A scalar of type T2 with value from range-rank(data) .. rank(data)-1. Negative values address dimensions from the end. Required. -
3:
split_lengths- A list containing the sizes of each output tensor along the splitaxis. Size ofsplit_lengthsshould be equal to the number of outputs. The sum of sizes must matchdata.shape[axis]. A 1-D Tensor of type T2.split_lenghtscan contain a single-1element, that means all remining items along specifiedaxisthat are not consumed by other parts. Required.
Outputs
- Multiple outputs: Tensors of the same type as the
datatensor. The shape of the i-th output has the same shape as thedataexcept along dimensionaxiswhere the size issplit_lengths[i]ifsplit_lengths[i] != -1.-1item, if exists, is processed as described in thesplit_lengthsinput description.
Detailed Description
VariadicSplit operation splits the data input tensor into pieces along axis. The i-th shape of output tensor will be equal to the data shape except along dimension axis where the size will be split_lengths[i]. The sum of elements of split_lengths must match data.shape[axis].
Shape of output tensor will be: \f[ shape_output_tensor = shape_input_tensor[shape_input_tensor[0], shape_input_tensor[1], ..., split_lengths[axis], ..., shape_input_tensor[D-1]], where D rank of input tensor. \f]
Types
- T1: arbitrary supported type.
- T2: any integer type.
Examples
<layer id="1" type="VariadicSplit" ...>
<input>
<port id="0"> <!-- some data -->
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="1"> <!-- axis: 0 -->
</port>
<port id="2">
<dim>3</dim> <!-- split_lengths: [1, 2, 3] -->
</port>
</input>
<output>
<port id="3">
<dim>1</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="4">
<dim>2</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="5">
<dim>3</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
</output>
</layer>
<layer id="1" type="VariadicSplit" ...>
<input>
<port id="0"> <!-- some data -->
<dim>6</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="1"> <!-- axis: 0 -->
</port>
<port id="2">
<dim>2</dim> <!-- split_lengths: [-1, 2] -->
</port>
</input>
<output>
<port id="3">
<dim>4</dim> <!-- 4 = 6 - 2 -->
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
<port id="4">
<dim>2</dim>
<dim>12</dim>
<dim>10</dim>
<dim>24</dim>
</port>
</output>
</layer>