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>