下载
中文
注册

MxInitFromConfig

函数功能

全局初始化,申请设备资源与日志资源并通过输入的预加载配置JSON文件进行算子预加载操作,配置文件编写规则参考如下,完整配置文件示例请参见初始化算子预加载文件实例”章节Vision SDK接口全部执行完毕后,用户需调用MxDeInit()接口对初始化的全局资源进行去初始化操作。

该接口不支持Atlas 200/300/500 推理产品Atlas 800I A2推理产品

  • 预加载的算子配置,需包含以下字段。
    • 算子名称(name)
    • 算子预加载列表(preload_list)
    • 算子类型(type),预留字段,暂不建议使用。
  • 预加载列表中,需包含以下字段。
    • 算子输入形状(input_shape)
    • 输入类型(input_type)
    • 输出形状(output_shape)
    • 输出类型(output_type)
      若算子预加载时需要设置属性,还需包含以下字段。
      • 属性名称(attr_name)
      • 属性数据类型(attr_type)
      • 属性值(attr_val)
  • 各算子输入输出形状及数据类型限制条件参照TensorOperations中对应算子限制条件,各Tensor的形状与对应的类型数量应保持一致并用分号分割,Tensor中的各个维度用逗号分割。
  • 调用MxInitFromConfig后,在初次调用ImageProcessor类图像处理接口和TensorOperations的部分接口会初始化DVPP资源池,再次调用接口时不会进行初始化,会直接使用DVPP通道资源池,其中DVPP资源池大小可通过“globalCfg”“globalCfgExtra”进行设置。第一次调用ImageProcessorTensorOperations的部分接口时间会包含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说明