昇腾体验官第五期随手记I
【摘要】 首先,体验目标是通用目标检测,代码在这里。通过查看代码文档,知道了昇腾 AI 处理器的PCIe的工作模式,有RC和EP模式。如果PCIe工作在主模式,可以扩展外设,则称为RC模式;如果PCIe工作在从模式,则称为EP模式。简单的来说,主模式(RC模式)就是昇腾处理器全包了,CPU的活它干了,AI的活它也干了。从模式就是还是有CPU去干CPU自己的活。二者之间的区别,下面这个图描述的很清楚另外...
首先,体验目标是通用目标检测
,代码在这里。
通过查看代码文档,知道了昇腾 AI 处理器的PCIe的工作模式
,有RC和EP模式。如果PCIe工作在主模式,可以扩展外设,则称为RC模式;如果PCIe工作在从模式,则称为EP模式。
简单的来说,主模式(RC模式)就是昇腾处理器全包了,CPU的活它干了,AI的活它也干了。
从模式就是还是有CPU去干CPU自己的活。
二者之间的区别,下面这个图描述的很清楚
另外还有一张CANN结构图,也可以看看。我们常用的ACL,是在很上面了。
接下来看一下数据预处理,本例子的 数据输入类型 可以支持 pic video rtsp
。
模型 | 输入图片编码格式 | 输入图片分辨率 |
---|---|---|
图片检测推理模型 基于onnx的yolov3模型 | BGR | 416*416 |
车辆颜色分类推理模型 基于tensorflow的CNN模型 | RGB | 224*224 |
那么这个模型需要的输入图片,与我们一般给的输入图片会有差距(格式和分辨率率等),这个处理差距的过程就是预处理。
预处理流程:
- 因为是批量处理图片,先打开存放图片的文件夹
OpenPicsDir
- 然后读入图片
ReadPic
。这里面对于不同的图片类型,采用不同读取策略,比如ReadJpeg
和ReadPng
文件本身的读入是一样的代码,只是对于读入文件数据的元信息的解析,要使用不同的方法:acldvppJpegGetImageInfo
和acldvppPngGetImageInfo
- 然后是解压到原始格式并进行缩放等处理
ProcessPic
,比如先解压缩为YUV420SP_U8格式的数据。使用的是 AclLite 里的类AclLiteImageProc
的JpegD
方法。AclLite是对ACL的进一步封装,里面的细节就不跟踪去看了,可以去参考这里。- 然后是缩放(reisze)来改变分辨率,使用的是 AclLite 里的类
AclLiteImageProc
的ProportionPasteCenter
方法,需要给出目标宽高。有点乱了…
- 然后是缩放(reisze)来改变分辨率,使用的是 AclLite 里的类
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)