ascend-模型推理

  1. root用户远程登录开发者套件,将在PC训练模型获得的压缩包上传到开发者套件,上传方法可参见Windows与开发者套件的文件传输,进入目录执行解压操作。

    tar -xvf edge_infer.tar

  2. 进入文件目录执行以下命令将Windows格式文件转换为Unix、Linux格式。

    cd infer/ && dos2unix `find .` 

    说明

    若提示命令dos2unix not found,请使用apt install dos2unix命令安装。

  3. 设置环境变量。

    # MindX SDK环境变量、CANN环境变量:
    . ${SDK-path}/set_env.sh
    . ${ascend-toolkit-path}/set_env.sh

    示例如下。

    . /usr/local/Ascend/ascend-toolkit/set_env.sh
    . /usr/local/Ascend/mxVision/set_env.sh

  4. 进入解压缩目录。

    cd models/ 

  5. 执行模型转换命令转换yolov3模型、 AlphaPose模型。

    #yolov3模型转换命令
    atc --model=./yolov3_tf.pb --framework=3 --output=./yolov3_tf_bs1_fp16 --soc_version=Ascend310B4 --insert_op_conf=./aipp_yolov3_416_416.aippconfig --input_shape="input:1,416,416,3" --out_nodes="yolov3/yolov3_head/Conv_22/BiasAdd:0;yolov3/yolov3_head/Conv_14/BiasAdd:0;yolov3/yolov3_head/Conv_6/BiasAdd:0" 
    #AlphaPose模型转换命令
    atc --framework=5 --model=fast_res50_256x192_bs1.onnx --output=fast_res50_256x192_aipp_rgb --input_format=NCHW --input_shape="image:1,3,256,192" --soc_version=Ascend310B4 --insert_op_conf=aipp_192_256_rgb.cfg 

    模型转换成功回显如下:

    ATC start working now, please wait for a moment.
    ....................ATC run success, welcome to the next use.
    • --model:解压的文件夹中onnx模型文件名称。
    • --output:输出om模型的名称。
    • --input_format:输入数据的格式。
    • --input_shape:输入数据的shape。
    • --framework:3代表pb模型,5代表ONNX模型,默认不修改。
    • --soc_version:处理器型号,默认不修改。
    • --out_nodes:模型输出节点。
    • --insert_op_conf:AIPP插入节点,通过config文件配置算子信息,功能包括图片色域转换、裁剪、归一化,主要用于处理原图输入数据,常与DVPP配合使用。

  6. 执行编译。

    cd ..
    bash build.sh 

    编译成功回显如下:

    -- The C compiler identification is GNU 11.3.0
    ...
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /home/test/keyp/plugin/preprocess/build
    [ 50%] Building CXX object CMakeFiles/mxpi_alphaposepreprocess.dir/MxpiAlphaposePreProcess.cpp.o
    [100%] Linking CXX shared library libmxpi_alphaposepreprocess.so
    [100%] Built target mxpi_alphaposepreprocess

  7. 模型适配。

    • 图片推理,进入infer目录执行以下命令。
      bash run.sh image ${INPUT}
      # 示例
      bash run.sh image ./data/val2017/ 

      推理成功回显如下:

      result was written successfully

      $INPUT:数据集路径。

      命令执行成功后会在infer/out目录下生成以测试图片名称命名的 json 文件,该文件包含图像中人物的关键点位置与置信度信息。查看文件验证人体关键点检测结果。

      推理结果图如图1所示。

      图1 查看推理结果

    • 精度测试,进入infer目录执行以下命令。
      bash run.sh evaluate ${INPUT}
      # 示例
      bash run.sh evaluate ./data/ 

      推理成功回显如下:

      loading annotations into memory...
      Done (t=0.00s)
      creating index...
      index created!
      Detect image:  0 :  000000199055.jpg , image id:  199055
      Detect image:  1 :  000000239537.jpg , image id:  239537
      Detect image:  2 :  000000162415.jpg , image id:  162415
      Detect image:  3 :  000000223959.jpg , image id:  223959
      Detect image:  4 :  000000020333.jpg , image id:  20333
      Detect image:  5 :  000000170474.jpg , image id:  170474
      Loading and preparing results...
      ...
       Average Precision  (AP) @[ IoU=0.50:0.95 | area=   all | maxDets= 20 ] = 0.716
      ...
      ${INPUT}:需要测试精度的数据集目录,包括验证集和标签压缩文件,目录结构如下 。
      .
      ├── data
      │ ├── annotations
      │ │ └── person_keypoints_val2017.json
      │ └── val2017
      │ ├── 000000581615.jpg
      │ ├── 000000581781.jpg
      ...
      │ └── other-images

      命令执行结束后输出评测结果,并在当前目录生成val2017_keypoint_detect_result.json检测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值