当前位置:网站首页>昇腾体验官第五期随手记I

昇腾体验官第五期随手记I

2022-07-07 12:35:00 华为云

首先,体验目标是通用目标检测代码在这里
通过查看代码文档,知道了昇腾 AI 处理器的PCIe的工作模式,有RC和EP模式。如果PCIe工作在主模式,可以扩展外设,则称为RC模式;如果PCIe工作在从模式,则称为EP模式。
简单的来说,主模式(RC模式)就是昇腾处理器全包了,CPU的活它干了,AI的活它也干了。
从模式就是还是有CPU去干CPU自己的活。
二者之间的区别,下面这个图描述的很清楚

image.png

另外还有一张CANN结构图,也可以看看。我们常用的ACL,是在很上面了。

image.png


接下来看一下数据预处理,本例子的 数据输入类型 可以支持 pic video rtsp

模型输入图片编码格式输入图片分辨率
图片检测推理模型 基于onnx的yolov3模型BGR416*416
车辆颜色分类推理模型 基于tensorflow的CNN模型RGB224*224

那么这个模型需要的输入图片,与我们一般给的输入图片会有差距(格式和分辨率率等),这个处理差距的过程就是预处理。

预处理流程:

  1. 因为是批量处理图片,先打开存放图片的文件夹 OpenPicsDir
  2. 然后读入图片 ReadPic 。这里面对于不同的图片类型,采用不同读取策略,比如 ReadJpegReadPng 文件本身的读入是一样的代码,只是对于读入文件数据的元信息的解析,要使用不同的方法:acldvppJpegGetImageInfoacldvppPngGetImageInfo
  3. 然后是解压到原始格式并进行缩放等处理 ProcessPic ,比如先解压缩为YUV420SP_U8格式的数据。使用的是 AclLite 里的类 AclLiteImageProcJpegD 方法。AclLite是对ACL的进一步封装,里面的细节就不跟踪去看了,可以去参考这里
    • 然后是缩放(reisze)来改变分辨率,使用的是 AclLite 里的类 AclLiteImageProcProportionPasteCenter 方法,需要给出目标宽高。有点乱了…
原网站

版权声明
本文为[华为云]所创,转载请带上原文链接,感谢
https://bbs.huaweicloud.com/blogs/363969