跳到主要内容

工具介绍

工具介绍

一键式信息收集工具用于快速收集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_pathlogs_path必须是绝对路径的形式。
-x可配置的芯片日志收集参数。
- 默认不收集芯片信息。
- -x n:收集指定n号芯片的日志信息,n必须是整数。
- -x n1,n2,n3:收集指定n1n2n3号芯片的日志信息,n1n2n3必须是整数。
- -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:收集所有级别的日志信息。

父主题: 一键式运维数据收集工具

工具使用

  1. 跳转到信息收集工具所在的目录。

    cd ${MX_SDK_HOME}/bin

    MX_SDK_HOME为MindX SDK软件包安装目录,请确保MX_SDK_HOME为有效的环境变量。

  2. 执行“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收集所有的芯片日志信息。
  3. 获取结果。

    运行一键式信息收集工具的结果存放在“${MX_SDK_HOME}/bin”目录下,以“mindx_sdk_info_年月日_时分秒.tar.gz”格式命名的文件中。

父主题: 一键式运维数据收集工具

工具介绍

单插件测试工具可以根据待测试插件的配置,自动添加Load与Dump数据,生成待测插件的pipeline文件,并对待测插件进行串流测试。

父主题: 单插件测试工具

工具使用

  1. 在“${MX_SDK_HOME}/toolkit/TestPlugin/config/config.py”文件中,配置待测插件属性,config文件大小限制为100M。

    "factory": "mxpi_pluginname", # 插件类型
    "plugin_name": "mxpi_pluginname0", # 插件名称
    "props": { # 插件属性
    "dataSource": "mxpi_parentName0",
    "resizeHeight": "416",
    "resizeWidth": "416"
    }
  2. 在“${MX_SDK_HOME}/toolkit/TestPlugin/config/config.py”文件“load”参数中,配置插件的数据输入文件。若插件为多输入,可以配置多个数据输入文件。

    数据输入文件中的内容必须是待测插件的输入数据。

    "load": [ # load插件的输入文件名,一个输入文件对应一个load插件
    "input/pluginname0.json"
    ]
  3. 在“${MX_SDK_HOME}/toolkit/TestPlugin/config/config.py”文件“dump”参数中,若插件为多输出,可以配置多个数据输出文件。

    "dump": [ # dump插件的输出文件名,一个输出文件对应一个dump插件
    "pluginname0-output.json"
    ]
  4. 运行单插件测试工具,生成待测插件的pipeline文件,并对待测插件进行串流测试。

    执行run.sh脚本,会在pipeline目录下生成待测插件的pipeline文件,并对待测插件进行串流测试,生成“dump”参数中配置的数据输出文件(其最终执行文件为main.py)。

    chmod +x run.sh && ./run.sh

父主题: 单插件测试工具

单插件测试样例

  1. 在“${MX_SDK_HOME}/toolkit/TestPlugin/config/config.py”配置文件中配置待测插件mxpi_imageresize的配置信息。配置信息如下:

    • 如果待测插件是多输入插件,“load”配置项可以配置多个输入文件。
    • 如果待测插件是多输出插件,“dump”配置项可以配置多个输出文件。
    PipelineConfig = {
    "stream_config": {
    "deviceId": "0"
    },
    "factory": "mxpi_imageresize", # 插件名称
    "props": { # 插件属性
    "dataSource": "mxpi_imagedecoder0",
    "resizeHeight": "416",
    "resizeWidth": "416"
    },
    "load": [ # load插件的输入文件名,一个输入文件对应一个load插件
    "input/imageresize0.json"
    ],
    "dump": [ # dump插件的输出文件名,一个输出文件对应一个dump插件
    "imageresize0-output.json"
    ]
    }
  2. 创建待测插件的数据输入文件“input/imageresize0.json”。

    {
    "buffer": {
    },
    "metaData": [{
    "key": "ExternalObjects",
    "protoDataType": "MxpiObjectList"
    },
    {
    "key": "ReservedFrameInfo",
    "protoDataType": "MxpiFrameInfo"
    },
    {
    "key": "ReservedVisionList",
    "content": "mxpi_imagedecoder0"
    },
    {
    "key": "mxpi_imagedecoder0",
    "content": "{\"visionVec\":[{\"visionInfo\":{\"format\":1,\"width\":512,\"height\":512,\"widthAligned\":512,\"heightAligned\":512},\"visionData\":{\"dataPtr\":\"17695267880960\",\"dataSize\":393216,\"memType\":\"MXPI_MEMORY_DVPP\"}}]}",
    "visionData": [{
    "dataPtr": "17695267880960", // dataPtr对应MxpiVisionData的dataPtr的地址
    "content": "vLu6ury9vr68vLy8" // 存在Device侧的图像数据,经过base64编码后的值
    }],
    "protoDataType": "MxpiVisionList"
    }]
    }
  3. 运行单插件测试工具,生成待测插件的pipeline文件,并对待测插件进行串流测试。命令如下:

    chmod +x run.sh && ./run.sh
  4. 检测单插件测试工具生成了pipeline文件。执行命令如下:

    cat pipeline/mxpi_imageresize0.pipeline
    {
    "TestPlugin": {
    "stream_config": {
    "deviceId": "0"
    },
    "mxpi_imageresize0": {
    "factory": "mxpi_imageresize",
    "next": [
    "mxpi_dumpdata0"
    ],
    "props": {
    "dataSource": "mxpi_imagedecoder0",
    "resizeHeight": "416",
    "resizeWidth": "416"
    }
    },
    "filesrc0": {
    "factory": "filesrc",
    "next": "mxpi_loaddata0",
    "props": {
    "location": "input/imageresize0.json",
    "blocksize": "40960000"
    }
    },
    "mxpi_loaddata0": {
    "factory": "mxpi_loaddata",
    "next": "mxpi_imageresize0:0"
    },
    "mxpi_dumpdata0": {
    "factory": "mxpi_dumpdata",
    "next": "fakesink0",
    "props": {
    "location": "imageresize0-output.json"
    }
    },
    "fakesink0": {
    "factory": "fakesink"
    }
    }
    }
  5. 检测单插件测试工具生成了待测插件的输出文件“imageresize0-output.json”。

  6. 检测串流结果,串流成功后,会显示如图1所示的成功日志。

    图1 成功日志

父主题: 单插件测试工具

工具介绍

插件信息收集工具用于快速搜集所有插件信息。

父主题: 插件信息搜集工具

在线提单