ANeuralNetworksOperandType

ANeuralNetworksOperandType describes the type of an operand.

Summary

This structure is used to describe both scalars and tensors.

A tensor operand type with all dimensions specified is "fully specified". Whenever possible (i.e., whenever the dimensions are known at model construction time), a tensor operand type should be (but is not required to be) fully specified, in order to enable the best possible performance.

If a tensor operand's type is not fully specified, the dimensions of the operand are deduced from the operand types and values of the operation for which that operand is an output or from the corresponding ANEURALNETWORKS_IF or ANEURALNETWORKS_WHILE operation input operand type in the case of referenced model input operands.

In the following situations, a tensor operand type must be fully specified:

A tensor operand type of specified rank but some number of unspecified dimensions is represented by setting dimensionCount to the rank and each unspecified dimension to 0.

Available since NNAPI feature level 1.

Starting at NNAPI feature level 3, a tensor operand type of unspecified rank is represented by setting dimensionCount to 0 and dimensions to NULL (just as if it were a scalar operand type).

Public attributes

dimensionCount
uint32_t
The number of dimensions (rank).
dimensions
const uint32_t *
The dimensions of the tensor.
scale
float
The quantization scale.
type
int32_t
The data type, e.g ANEURALNETWORKS_FLOAT32.
zeroPoint
int32_t
The quantization zero point.

Public attributes

dimensionCount

Declared in android/NeuralNetworksTypes.h
uint32_t ANeuralNetworksOperandType::dimensionCount

The number of dimensions (rank).

Must be 0 for scalars.

dimensions

Declared in android/NeuralNetworksTypes.h
const uint32_t * ANeuralNetworksOperandType::dimensions

The dimensions of the tensor.

Must be nullptr for scalars.

scale

Declared in android/NeuralNetworksTypes.h
float ANeuralNetworksOperandType::scale

The quantization scale.

Must be 0 when not applicable to an operand type.

See OperandCode.

type

Declared in android/NeuralNetworksTypes.h
int32_t ANeuralNetworksOperandType::type

The data type, e.g ANEURALNETWORKS_FLOAT32.

zeroPoint

Declared in android/NeuralNetworksTypes.h
int32_t ANeuralNetworksOperandType::zeroPoint

The quantization zero point.

Must be 0 when not applicable to an operand type.

See OperandCode.