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