数据类型和数据结构
版本信息类
HB_DNN_VERSION_MAJOR
#define HB_DNN_VERSION_MAJOR 1U
DNN主版本号信息。
HB_DNN_VERSION_MINOR
#define HB_DNN_VERSION_MINOR 1U
DNN次版本号信息。
HB_DNN_VERSION_PATCH
#define HB_DNN_VERSION_PATCH 0U
DNN补丁版本号信息。
注意,本小节中的版本信息类型的版本号随版本变化有所不同,此处的版本号仅供参考,实际版本请以您获取到的发布物为准。
模型类
HB_DNN_TENSOR_MAX_DIMENSIONS
#define HB_DNN_TENSOR_MAX_DIMENSIONS 8
张量最大的维度设置为 8
。
HB_DNN_INITIALIZE_INFER_CTRL_PARAM
#define HB_DNN_INITIALIZE_INFER_CTRL_PARAM(param) \
{ \
(param)->bpuCoreId = HB_BPU_CORE_ANY; \
(param)->dspCoreId = HB_DSP_CORE_ANY; \
(param)->priority = HB_DNN_PRIORITY_LOWEST; \
(param)->more = false; \
(param)->customId = 0; \
(param)->reserved1 = 0; \
(param)->reserved2 = 0; \
}
初始化控制参数。
hbPackedDNNHandle_t
typedef void *hbPackedDNNHandle_t;
DNN句柄,指向打包的多个模型。
hbDNNHandle_t
typedef void *hbDNNHandle_t;
DNN句柄,指向单一模型。
hbDNNTaskHandle_t
typedef void *hbDNNTaskHandle_t;
任务句柄,指向一个任务。
hbDNNTensorLayout
typedef enum {
HB_DNN_LAYOUT_NHWC = 0,
HB_DNN_LAYOUT_NCHW = 2,
HB_DNN_LAYOUT_NONE = 255,
} hbDNNTensorLayout;
张量的排布形式。 NHWC
分别代表Number、Height、Width和Channel。
-
成员
成员名称 描述 HB_DNN_LAYOUT_NONE
没有定义排布形式。 HB_DNN_LAYOUT_NHWC
排布形式为 NHWC
。HB_DNN_LAYOUT_NCHW
排布形式为 NCHW
。
hbDNNDataType
typedef enum {
HB_DNN_IMG_TYPE_Y,
HB_DNN_IMG_TYPE_NV12,
HB_DNN_IMG_TYPE_NV12_SEPARATE,
HB_DNN_IMG_TYPE_YUV444,
HB_DNN_IMG_TYPE_RGB,
HB_DNN_IMG_TYPE_BGR,
HB_DNN_TENSOR_TYPE_S4,
HB_DNN_TENSOR_TYPE_U4,
HB_DNN_TENSOR_TYPE_S8,
HB_DNN_TENSOR_TYPE_U8,
HB_DNN_TENSOR_TYPE_F16,
HB_DNN_TENSOR_TYPE_S16,
HB_DNN_TENSOR_TYPE_U16,
HB_DNN_TENSOR_TYPE_F32,
HB_DNN_TENSOR_TYPE_S32,
HB_DNN_TENSOR_TYPE_U32,
HB_DNN_TENSOR_TYPE_F64,
HB_DNN_TENSOR_TYPE_S64,
HB_DNN_TENSOR_TYPE_U64,
HB_DNN_TENSOR_TYPE_MAX
} hbDNNDataType;
张量的类型。 S
代表有符号, U
代表无符号, F
代表浮点型,后面的数字代表bit数。
HB_DNN_IMG_TYPE_NV12
与 HB_DNN_IMG_TYPE_NV12_SEPARATE
都代表NV12的数据,只是在存储上有差异。
推理NV12输入的模型时,用户可根据实际情况更改张量的 tensorType
属性为 HB_DNN_IMG_TYPE_NV12
或 HB_DNN_IMG_TYPE_NV12_SEPARATE
。
-
成员
成员名称 描述 HB_DNN_IMG_TYPE_Y
张量类型为仅有Y通道的图片。 HB_DNN_IMG_TYPE_NV12
张量类型为一张NV12的图片。 HB_DNN_IMG_TYPE_NV12_SEPARATE
张量类型为Y通道及UV通道为输入的图片。 HB_DNN_IMG_TYPE_YUV444
张量类型为YUV444为输入的图片。 HB_DNN_IMG_TYPE_RGB
张量类型为RGB为输入的图片。 HB_DNN_IMG_TYPE_BGR
张量类型为BGR为输入的图片。 HB_DNN_TENSOR_TYPE_S4
张量类型为有符号4bit。 HB_DNN_TENSOR_TYPE_U4
张量类型为无符号4bit。 HB_DNN_TENSOR_TYPE_S8
张量类型为有符号8bit。 HB_DNN_TENSOR_TYPE_U8
张量类型为无符号8bit。 HB_DNN_TENSOR_TYPE_F16
张量类型为浮点型16bit。 HB_DNN_TENSOR_TYPE_S16