工具介绍
工具介绍
插件信息收集工具用于快速搜集所有插件信息。
父主题: 插件信息搜集工具
工具使用
-
设置程序所需环境变量。
. ${MX_SDK_HOME}/set_env.sh -
执行程序。
进入到执行程序所在“bin”目录,执行如下命令。
./InspectAllPlugins -
获取结果。
程序输出结果保存在“AllPluginsInfo.json”文件。
父主题: 插件信息搜集工具
工具介绍
插件性能统计工具,可以快速测试分析MindX SDK的推理性能(所有性能统计数据涉及的时间单位都是微秒)。性能统计指标请见表1:
图1 MindX SDK推理简易流程图
表1 性能统计指标
| 性能 | 介绍 |
|---|---|
| 端到端耗时 | 从appsrc输入插件的srcpad输出数据(t1时刻)开始计时统计,到appsink输出插件的sinkpad接收数据(t4时刻)结束计时统计。 端到端耗时 = 结束时间(t4) - 开始时间(t1) |
| 单插件耗时 | 统计单个插件(只涉及SDK开发的插件,即插件名以mxpi_开头,不包含Gstreamer插件)的耗时。 如mxpi_modelinfer插件的耗时,从这个插件sinkpad(t2时刻)开始计时,到这个插件srcpad(t3时刻)结束计时。 单插件耗时 = 结束时间(t3) - 开始时间(t2) |
| 模型推理耗时 | 模型推理只在模型插件中存在,因此在模型推理插件内部会统计模型推理耗时。 |
| 后处理耗时 | 后处理只在modelinfer框架模型推理插件中存在,因此在modelinfer框架模型推理插件内部会统计后处理耗时。 |
| 吞吐率 | appsink输出插件每次从sinkpad接收一次数据,做一次统计。 |
| 队列长度 | 每隔“ps_queue_size_interval_time”时间,获取一次队列的当前长度,获取“ps_queue_size_times”次数后,做一次队列长度的统计。 |
父主题: 插件性能统计工具
配置项介绍
插件性能统计功能新增了MindX SDK的配置文件“${MX_SDK_HOME}/config/sdk.conf”。如图1所示,配置项注释中如果注明了“[dynamic config]”,说明这个配置项是动态可配置。(如果配置项的值小于最小值,则会设置成最小值。如果配置项的值大于最大值,则会设置成最大值。)配置项说明请参见表1。
须知
队列长度统计的时间间隔 * 队列长度统计次数需小于推理总时间,如未生成.queue日志,可通过降低时间间隔(ps_queue_size_interval_time)或统计次数(ps_queue_size_times)的方式进行调试。
图1 SDK配置文件示例

表1 配置项说明
| 配置项 | 说明 |
|---|---|
| enable_ps | 性能统计开关,默认为“false”。 |
| ps_log_dir | 性能统计日志目录,请在使用工具前配置到具体目录。 |
| ps_log_filename | 性能统计日志文件名。端到端日志文件会添加后缀.e2e。单插件、模型推理、后处理的日志文件会添加后缀.plugin。吞吐率日志文件会添加后缀.tpr。队列长度日志文件会添加后缀.queue。 |
| ps_max_log_size | 性能统计日志文件最大长度,日志文件大小超过这个值,将切换新的日志文件,单位MB,默认为100,取值范围为[1, 1024]。 |
| ps_queue_size_warn_percent | 队列长度告警值百分比。当队列当前长度达到了队列总长度的告警值,将会打印告警日志,默认为80,取值范围为[1, 100]。 |
| ps_interval_time | 性能统计时间间隔,端到端、单插件、模型推理、后处理的性能统计时间间隔,默认为60,取值范围为[1, 24*3600]。 |
| ps_queue_size_interval_time | 队列长度统计的时间间隔,默认为50,取值范围为[10, 1000]。 |
| ps_queue_size_times | 队列长度统计次数,默认为100,取值范围为[1, 1000]。 |
| malloc_max_data_size | 设置申请内存的上限字节数,默认为1GByte,最大可支持至4GByte。 |
父主题: 插件性能统计工具
使用步骤
-
开启性能统计开关,在“${MX_SDK_HOME}/config/sdk.conf”配置文件中,设置“enable_ps”为“true”,开启性能统计开关。
-
调整性能统计时间间隔,默认值为60秒,统计时间偏长,调整“ps_interval_time”为“6”,每隔6秒,进行一次性能统计。
-
Pipeline文件中,加入队列插件。如果pipeline中未使用队列插件,将不会统计队列长度。
图1 Pipeline文件添加队列插件

-
启动MindX SDK服务。
父主题: 插件性能统计工具
在线提单