ReduceLogicalOr#

Versioned name: ReduceLogicalOr-1

Category: Reduction

Short description: ReduceLogicalOr operation performs the reduction with logical or operation on a given input data along dimensions specified by axes input.

Detailed Description

ReduceLogicalOr operation performs the reduction with logical or operation on a given input data along dimensions specified by axes input. Each element in the output is calculated as follows:

output[i0, i1, ..., iN] = or[j0, ..., jN](x[j0, ..., jN]))

where indices i0, …, iN run through all valid indices for input data, and logical or operation or[j0, ..., jN] has jk = ik for those dimensions k that are not in the set of indices specified by axes input.

Particular cases:

  1. If axes is an empty list, ReduceLogicalOr corresponds to the identity operation.

  2. If axes contains all dimensions of input data, a single reduction value is calculated for the entire input tensor.

Attributes

  • keep_dims

    • Description: If set to true, it holds axes that are used for the reduction. For each such axis, the output dimension is equal to 1.

    • Range of values: true or false

    • Type: boolean

    • Default value: false

    • Required: no

Inputs

  • 1: data - A tensor of type T_BOOL and arbitrary shape. Required.

  • 2: axes - Axis indices of data input tensor, along which the reduction is performed. A scalar or 1D tensor of unique elements and type T_IND. The range of elements is [-r, r-1], where r is the rank of data input tensor. Required.

Outputs

  • 1: The result of ReduceLogicalOr function applied to data input tensor. A tensor of type T_BOOL and shape[i] = shapeOf(data)[i] for all i dimensions not in axes input tensor. For dimensions in axes, shape[i] == 1 if keep_dims == true; otherwise, the i-th dimension is removed from the output.

Types

  • T_BOOL: boolean.

  • T_IND: any supported integer type.

Examples

 <layer id="1" type="ReduceLogicalOr" ...>
     <data keep_dims="true" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>2</dim>         <!-- value is [2, 3] that means independent reduction in each channel and batch -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>12</dim>
             <dim>1</dim>
             <dim>1</dim>
         </port>
     </output>
 </layer>
 <layer id="1" type="ReduceLogicalOr" ...>
     <data keep_dims="false" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>2</dim>         <!-- value is [2, 3] that means independent reduction in each channel and batch -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>12</dim>
         </port>
     </output>
 </layer>
 <layer id="1" type="ReduceLogicalOr" ...>
     <data keep_dims="false" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>1</dim>         <!-- value is [1] that means independent reduction in each channel and spatial dimensions -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
     </output>
 </layer>
 <layer id="1" type="ReduceLogicalOr" ...>
     <data keep_dims="false" />
     <input>
         <port id="0">
             <dim>6</dim>
             <dim>12</dim>
             <dim>10</dim>
             <dim>24</dim>
         </port>
         <port id="1">
             <dim>1</dim>         <!-- value is [-2] that means independent reduction in each channel, batch and second spatial dimension -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>6</dim>
             <dim>12</dim>
             <dim>24</dim>
         </port>
     </output>
 </layer>