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时该选项无效。 |
父主题: 通用数据结构