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

举报
黄生 发表于 2022/07/07 11:25:00 2022/07/07
【摘要】 首先,体验目标是通用目标检测,代码在这里。通过查看代码文档,知道了昇腾 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自己的活。
二者之间的区别,下面这个图描述的很清楚

image.png

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

image.png


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

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

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

预处理流程:

  1. 因为是批量处理图片,先打开存放图片的文件夹 OpenPicsDir
  2. 然后读入图片 ReadPic 。这里面对于不同的图片类型,采用不同读取策略,比如 ReadJpegReadPng 文件本身的读入是一样的代码,只是对于读入文件数据的元信息的解析,要使用不同的方法:acldvppJpegGetImageInfoacldvppPngGetImageInfo
  3. 然后是解压到原始格式并进行缩放等处理 ProcessPic ,比如先解压缩为YUV420SP_U8格式的数据。使用的是 AclLite 里的类 AclLiteImageProcJpegD 方法。AclLite是对ACL的进一步封装,里面的细节就不跟踪去看了,可以去参考这里
    • 然后是缩放(reisze)来改变分辨率,使用的是 AclLite 里的类 AclLiteImageProcProportionPasteCenter 方法,需要给出目标宽高。有点乱了…
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。