当前位置:网站首页>昇腾体验官第五期随手记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 里的类
边栏推荐
- JS get the current time, month, day, year, and the uniapp location applet opens the map to select the location
- UML 状态图
- requires php ~7.1 -> your PHP version (7.0.18) does not satisfy that requirement
- Analysis of arouter
- 内部排序——插入排序
- 3D detection: fast visualization of 3D box and point cloud
- Lavarel之环境配置 .env
- Cesium 已知一点经纬度和距离求另一个点的经纬度
- Take you to master the three-tier architecture (recommended Collection)
- Navigation — 这么好用的导航框架你确定不来看看?
猜你喜欢
Vmware共享主机的有线网络IP地址
常用數字信號編碼之反向不歸零碼碼、曼徹斯特編碼、差分曼徹斯特編碼
Did login metamask
OAuth 2.0 + JWT protect API security
JS get the current time, month, day, year, and the uniapp location applet opens the map to select the location
UML state diagram
Selenium库
Redis 核心数据结构 & Redis 6 新特性详
常用数字信号编码之反向不归零码码、曼彻斯特编码、差分曼彻斯特编码
手把手教会:XML建模
随机推荐
Take you to master the three-tier architecture (recommended Collection)
The reason why data truncated for column 'xxx' at row 1 appears in the MySQL import file
【立体匹配论文阅读】【三】INTS
使用day.js让时间 (显示为几分钟前 几小时前 几天前 几个月前 )
IP and long integer interchange
XML文件的解析操作
Details of redis core data structure & new features of redis 6
Lavarel之环境配置 .env
oracle 非自动提交解决
ARM Cortex-A9,MCIMX6U7CVM08AD 处理器应用
GAN发明者Ian Goodfellow正式加入DeepMind,任Research Scientist
小程序目录结构
设备故障预测机床故障提前预警机械设备振动监测机床故障预警CNC震动无线监控设备异常提前预警
MRS离线数据分析:通过Flink作业处理OBS数据
The longest ascending subsequence model acwing 1014 Mountaineering
交换机和路由器的异同
ndk初学习(一)
Oracle Linux 9.0 正式发布
Common response status codes
The difference between memory overflow and memory leak