ANeuralNetworksOperandType

ANeuralNetworksOperandType 描述操作数的类型。

摘要

此结构体用于描述标量和张量。

所有维度均已指定的张量操作数类型称为“完全指定”。在可能的情况下(即在模型构建时知道维度的情况下),张量操作数类型应(但不强制要求)完全指定,以便实现最佳性能。

如果张量操作数的类型未完全指定,则该操作数的维度会从其作为输出的操作的操作数类型和值推导得出,或者对于引用模型输入操作数,会从相应的 ANEURALNETWORKS_IFANEURALNETWORKS_WHILE 操作的输入操作数类型推导得出。

在以下情况中,张量操作数类型必须完全指定

指定了秩但部分维度未指定的张量操作数类型通过将 dimensionCount 设置为秩,并将每个未指定的维度设置为 0 来表示。

自 NNAPI 功能级别 1 起可用。

从 NNAPI 功能级别 3 开始,未指定秩的张量操作数类型通过将 dimensionCount 设置为 0 并将 dimensions 设置为 NULL 来表示(就像是标量操作数类型一样)。

公共属性

dimensionCount
uint32_t
维数(秩)。
dimensions
const uint32_t *
张量的维度。
scale
float
量化比例。
type
int32_t
数据类型,例如 ANEURALNETWORKS_FLOAT32。
zeroPoint
int32_t
量化零点。

公共属性

dimensionCount

声明于 android/NeuralNetworksTypes.h
uint32_t ANeuralNetworksOperandType::dimensionCount

维数(秩)。

对于标量,必须为 0。

dimensions

声明于 android/NeuralNetworksTypes.h
const uint32_t * ANeuralNetworksOperandType::dimensions

张量的维度。

对于标量,必须为 nullptr。

scale

声明于 android/NeuralNetworksTypes.h
float ANeuralNetworksOperandType::scale

量化比例。

当不适用于操作数类型时,必须为 0。

请参阅 OperandCode

type

声明于 android/NeuralNetworksTypes.h
int32_t ANeuralNetworksOperandType::type

数据类型,例如 ANEURALNETWORKS_FLOAT32。

zeroPoint

声明于 android/NeuralNetworksTypes.h
int32_t ANeuralNetworksOperandType::zeroPoint

量化零点。

当不适用于操作数类型时,必须为 0。

请参阅 OperandCode