ModelLoadOptV2
功能
支持多种推理模型输入方式,用户可通过该数据结构,选择其中一种方式输入推理模型。
请根据实际情况选择对应配置,如配置与实际输入存在差异,会在Model处抛出异常,如未对该异常进行catch操作,则程序会发生core dumped。
结构定义
struct ModelLoadOptV2 { enum ModelLoadType { LOAD_MODEL_FROM_FILE = 1, LOAD_MODEL_FROM_FILE_WITH_MEM, LOAD_MODEL_FROM_MEM, LOAD_MODEL_FROM_MEM_WITH_MEM }; enum ModelType { MODEL_TYPE_OM = 0, MODEL_TYPE_MINDIR }; ModelType modelType = MODEL_TYPE_OM; ModelLoadType loadType = LOAD_MODEL_FROM_FILE; std::string modelPath = ""; void* modelPtr = nullptr; void* modelWorkPtr = nullptr; void* modelWeightPtr = nullptr; size_t modelSize = 0; size_t workSize = 0; size_t weightSize = 0; };
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
modelType |
输入 |
推理模型类型,支持情况参见如下。(默认为“MODEL_TYPE_OM”。)
|
loadType |
输入 |
推理模型输入类型,可通过以下参数选定输入方式。(默认为“LOAD_MODEL_FROM_FILE”。)
|
modelPath |
输入 |
推理模型文件路径,仅在以下模式生效。(默认为"",最大只支持至4GB大小的模型且建议模型属主为当前用户,模型文件的权限小于或等于“640”。)
|
modelPtr |
输入 |
推理模型所在内存地址指针,仅在以下模式生效。(默认为nullptr,用户需根据实际情况输入内存地址。)
|
modelWorkPtr |
输入 |
推理模型所在工作内存地址指针,仅在以下模式生效。(默认为nullptr,表示由系统管理内存。)
|
modelWeightPtr |
输入 |
推理模型权值内存地址指针,仅在以下模式生效。(默认为nullptr,表示由系统管理内存。)
|
modelSize |
输入 |
推理模型数据长度,单位Byte,仅在以下模式生效。(默认为0,最大只支持至4GB大小的模型)
|
workSize |
输入 |
推理模型所在工作内存大小,单位Byte。(默认为0,当“modelWorkPtr”为nullptr时无效。) |
weightSize |
输入 |
推理模型权值内存大小,单位Byte。(默认为0,当“modelWeightPtr”为nullptr时无效。) |
父主题: 通用数据结构