MxInitFromConfig
函数功能
全局初始化,申请设备资源与日志资源并通过输入的预加载配置JSON文件进行算子预加载操作,配置文件编写规则参考如下,完整配置文件示例请参见“初始化算子预加载文件实例”章节。Vision SDK接口全部执行完毕后,用户需调用MxDeInit()接口对初始化的全局资源进行去初始化操作。
该接口不支持Atlas 200/300/500 推理产品和Atlas 800I A2推理产品。
- 预加载的算子配置,需包含以下字段。
- 算子名称(name)
- 算子预加载列表(preload_list)
- 算子类型(type),预留字段,暂不建议使用。
- 预加载列表中,需包含以下字段。
- 算子输入形状(input_shape)
- 输入类型(input_type)
- 输出形状(output_shape)
- 输出类型(output_type)
- 各算子输入输出形状及数据类型限制条件参照TensorOperations中对应算子限制条件,各Tensor的形状与对应的类型数量应保持一致并用分号分割,Tensor中的各个维度用逗号分割。
- 调用MxInitFromConfig后,在初次调用ImageProcessor类图像处理接口和TensorOperations的部分接口会初始化DVPP资源池,再次调用接口时不会进行初始化,会直接使用DVPP通道资源池,其中DVPP资源池大小可通过“globalCfg”或“globalCfgExtra”进行设置。第一次调用ImageProcessor和TensorOperations的部分接口时间会包含DVPP资源池初始化的时间,导致接口调用的总体时间增长。

- 一个进程内只能调用一次MxInitFromConfig接口。
- DVPP资源池所申请的底层通道资源为进程共享,多进程场景可能导致资源耗尽,请谨慎使用。
- DVPP资源池与VideoEncoder及VideoDecoder共享底层通道资源,极端场景可能导致资源耗尽,建议根据实际场景的需要进行资源池大小的初始化。
- 该接口会注册监测日志数量和监测日志时间的线程,线程命名分别为“log_filenum”和“log_time”。
函数原型
APP_ERROR MxInitFromConfig(const std::string &configFile);
APP_ERROR MxInitFromConfig(const std::string &configFile, const AppGlobalCfg &globalCfg);
APP_ERROR MxInitFromConfig(const std::string &configFile, const AppGlobalCfgExtra &globalCfgExtra);
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
configFile |
输入 |
std::string类型,预加载配置JSON文件路径,JSON要求属主为当前用户且权限不大于640。 |
globalCfg |
输入 |
AppGlobalCfg类型,应用全局配置。 |
globalCfgExtra |
输入 |
AppGlobalCfgExtra类型,应用全局配置。 |
返回参数说明
数据结构 |
说明 |
---|---|
APP_ERROR |
程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: 初始化和去初始化