NonZero¶
Versioned name : NonZero-3
Category : Condition
Short description : NonZero returns the indices of the non-zero elements of the input tensor.
Detailed description : NonZero returns the indices of the non-zero elements of the input tensor (in row-major order - by dimension).
The output tensor has shape
[rank(input), num_non_zero]
.For example, for the tensor
[[1, 0], [1, 1]]
the output will be[[0, 1, 1], [0, 0, 1]]
.The output is a collection of tuples, each tuple has
rank(input)
elements and contains indices for a single non-zero element.The
i
‘th element of each output dimension is a part ofi
‘th tuple.In given example the tuples would be:
[0, 0]
,[1, 0]
,[1, 1]
.
Attributes
output_type
Description : the output tensor type
Range of values :
i64
ori32
Type : string
Default value : “i64”
Required : no
Inputs :
1 : A tensor of type T and arbitrary shape. Required.
Outputs :
1 : tensor with indices of non-zero elements of shape
[rank(data), num_non_zero]
of type T_OUT.
Types
T : any type.
T_OUT : Depending on output_type attribute can be
int64
orint32
.
Example
<layer ... type="NonZero">
<data output_type="i64"/>
<input>
<port id="0">
<dim>3</dim>
<dim>10</dim>
<dim>100</dim>
<dim>200</dim>
</port>
</input>
<output>
<port id="1">
<dim>4</dim>
<dim>-1</dim>
</port>
</output>
</layer>