编译
输入数据获取
后处理的数据输入是通过“Process()”函数,将数据以入参的形式传入,具体参数参考模型后处理类参考(modelinfer框架)中的参数说明。
父主题: 模型后处理(modelinfer框架)
输出结果发送
metaDataPtr :向下游插件传输数据指针。
具体操作参考如下:
std::shared_ptr<MxTools::MxpiObjectList> objectList =
std::static_pointer_cast<MxTools::MxpiObjectList>(metaDataPtr);
MxTools::MxpiObject* objectData = objectList->add_objectvec();
objectData->set_x0(objInfo.x0 + xOffset);
objectData->set_y0(objInfo.y0 + yOffset);
objectData->set_x1(objInfo.x1 + xOffset);
objectData->set_y1(objInfo.y1 + yOffset);
其中,“objInfo”为后处理计算得出的框坐标, “xOffset”和“yOffset”为目标框坐标在原图上的偏移值。
父主题: 模型后处理(modelinfer框架)
编译
CMakeLists文件配置
CMakeLists用于设置后处理动态库的目标文件以及链接相关的第三方库,每一个后处理都有一个“CMakeLists.txt”文件与之对应。对于后处理的CMakeLists.txt文件,用户需要修改其中生成的后处理名和生成动态库的目标文件,延用原有的其他配置。以ResNet-50后处理为例,示例操作参见如下。
其中,“resnet50postprocessor”和“ResNet50PostProcessor.cpp”分别代表生成的后处理动态库名和生成后处理的目标文件,其他的配置延用原有的后处理。
命令行编译
命令行编译主要根据“CMakeLists.txt”文件的配置,进行插件的编译和生成。
-
新建“ResNet50PostProcessor”目录。
cd {sdk_install_path}/samples/mkdir ResNet50PostProcessor:::note 说明 *{sdk_install_path}*为mxVision软件包的安装路径。 :::
-
跳转到“ResNet50PostProcessor”目录下。
cd ResNet50PostProcessor -
将后处理动态库头文件、源文件和“CMakeLists.txt”文件存放至“ResNet50PostProcessor”目录。
-
新建一个“build”文件夹,并跳转到“build”文件夹中。
mkdir buildcd build -
创建Makefile文件,避免污染项目的CMakeLists。
cmake .. -
根据生成的Makefile文件编译项目。
make -j -
将生成后处理的.so文件拷贝至“lib”目录下。
make install
父主题: 模型后处理(modelinfer框架)
工具介绍
一键式信息收集工具用于快速收集MindX SDK问题,定位所依赖的相关信息,避免用户反复收集确认日志。主要包括芯片信息(版本和日志)、操作系统版本信息、环境变量、网络信息以及MindX SDK信息(版本、配置文件、日志、第三方库版本)等。
该工具由“sdk_info_collector.sh”和“sdk_info_collector.py”两个文件组成,其中在“sdk_info_collector.sh”文件中调用了“sdk_info_collector.py”文件。此外,用户可以根据自己的需求在已有的信息收集工具上扩展新功能。
一键式信息收集工具为芯片日志和MindX SDK日志的信息收集提供了可配置的参数,请参见表1,其他的信息都默认收集。
表1 参数介绍
| 参数 | 说明 |
|---|---|
| --help|-h|-H | 查看帮助信息。 |
| --version|-v|-V | 查看版本信息。 |
| -p | 必须设置的MindX SDK的日志存放目录,该目录下的日志文件数量不超过1500个。 -p logs_path:logs_path必须是绝对路径的形式。 |
| -x | 可配置的芯片日志收集参数。 - 默认不收集芯片信息。 - -x n:收集指定n号芯片的日志信息,n必须是整数。 - -x n1,n2,n3:收集指定n1,n2,n3号芯片的日志信息,n1,n2,n3必须是整数。 - -x -1:收集所有芯片的日志信息。 |
| -r | 可配置的MindX SDK日志天数收集参数。 - 默认收集所有日志信息。 - -r xd:收集x天内的日志信息,x必须是整数。 - -r full:收集每天的日志信息。 |
| -t | 可配置的MindX SDK日志级别收集参数。 - 默认收集所有日志信息。 - -t d:收集调试(debug)日志及以上级别的日志信息。 - -t i:收集正常(info)日志及以上级别的日志信息。 - -t w:收集警告(warn)日志及以上级别的日志信息。 - -t e:收集错误(error)日志及以上级别的日志信息。 - -t f:收集致命(fatal)日志信息。 - -t full:收集所有级别的日志信息。 |
父主题: 一键式运维数据收集工具
工具使用
-
跳转到信息收集工具所在的目录。
cd ${MX_SDK_HOME}/binMX_SDK_HOME为MindX SDK软件包安装目录,请确保MX_SDK_HOME为有效的环境变量。
-
执行“sdk_info_collector.sh”。
以下为三种一键式信息采集的方式,用户可以根据自己的实际情况来使用。
-
采用默认参数,默认收集MindX SDK所有日志信息,不收集芯片日志。
bash sdk_info_collector.sh -p logs_path表1 命令参数说明(采用默认参数)
参数 说明 -p logs_path 收集指定目录“logs_path”中存放的MindX SDK日志信息。 -
指定参数收集,具体参数说明请参见表2。
bash sdk_info_collector.sh -p logs_path -r 3d -t w -x 6表2 命令参数说明(使用指定参数收集)
参数 说明 -p logs_path 收集指定目录“logs_path”中存放的MindX SDK日志信息。 -r 3d 收集最近3天内的MindX SDK日志信息。 -t w 收集警告日志及以上级别的MindX SDK日志信息。 -r 3d -t w 收集最近3天内的警告日志及以上级别的MindX SDK日志信息。 -x 6 收集编号为“6”的芯片日志信息。 -x 0,2,5 收集编号为“0”,“2”,“5”的芯片日志信息。 命令示例:
bash sdk_info_collector.sh -p logs_path -r 3d -t w -x 0,2,5 -
全量收集。
bash sdk_info_collector.sh -p logs_path -r full -t full -x -1表3 命令参数说明
参数 说明 -p logs_path 收集指定目录“logs_path”中存放的MindX SDK日志信息。 -r full 收集每天的MindX SDK日志信息。 -t full 收集所有级别的MindX SDK日志信息。 -r full -t full 收集所有的MindX SDK日志信息。 -x -1 收集所有的芯片日志信息。
-
-
获取结果。
运行一键式信息收集工具的结果存放在“${MX_SDK_HOME}/bin”目录下,以“mindx_sdk_info_年月日_时分秒.tar.gz”格式命名的文件中。
父主题: 一键式运维数据收集工具
工具介绍
单插件测试工具可以根据待测试插件的配置,自动添加Load与Dump数据,生成待测插件的pipeline文件,并对待测插件进行串流测试。
父主题: 单插件测试工具
在线提单