当前位置:网站首页>昇腾体验官第五期随手记I
昇腾体验官第五期随手记I
2022-07-07 12:35:00 【华为云】
首先,体验目标是通用目标检测
,代码在这里。
通过查看代码文档,知道了昇腾 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 里的类
边栏推荐
- 常用數字信號編碼之反向不歸零碼碼、曼徹斯特編碼、差分曼徹斯特編碼
- Es log error appreciation -limit of total fields
- requires php ~7.1 -> your PHP version (7.0.18) does not satisfy that requirement
- Leetcode——344. 反转字符串/541. 反转字符串 II/151. 颠倒字符串中的单词/剑指 Offer 58 - II. 左旋转字符串
- GAN发明者Ian Goodfellow正式加入DeepMind,任Research Scientist
- oracle 非自动提交解决
- 请问,如图,pyhon云函数提示使用了 pymysql模块,这个是怎么回事?
- Hangdian oj2054 a = = B? ???
- IP and long integer interchange
- C # use TCP protocol to establish connection
猜你喜欢
随机推荐
Leetcode - Sword finger offer 05 Replace spaces
C # switch pages through frame and page
【立体匹配论文阅读】【三】INTS
Similarities and differences between switches and routers
call undefined function openssl_ cipher_ iv_ length
杭电oj2092 整数解
AutoCAD - how to input angle dimensions and CAD diameter symbols greater than 180 degrees?
Cesium knows the longitude and latitude of one point and the distance to find the longitude and latitude of another point
The longest ascending subsequence model acwing 1012 Sister cities
用例图
手把手教会:XML建模
最长上升子序列模型 AcWing 1012. 友好城市
gvim【三】【_vimrc配置】
Oracle Linux 9.0 正式发布
SSRF vulnerability file pseudo protocol [netding Cup 2018] fakebook1
How does MySQL control the number of replace?
FCOS3D label assignment
Leetcode——剑指 Offer 05. 替换空格
Bashrc and profile
Interface automation test - solution of data dependency between interfaces