当前位置:网站首页>昇腾体验官第五期随手记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 里的类
边栏推荐
- Parameter keywords final, flags, internal, mapping keywords internal
- Interface automation test - solution of data dependency between interfaces
- Use day JS let time (displayed as minutes, hours, days, months, and so on)
- 一个简单LEGv8处理器的Verilog实现【四】【单周期实现基础知识及模块设计讲解】
- The meaning of variables starting with underscores in PHP
- 【网络安全】sql注入语法汇总
- LeetCode每日一题(636. Exclusive Time of Functions)
- 3D Detection: 3D Box和点云 快速可视化
- ndk初学习(一)
- 最长上升子序列模型 AcWing 1012. 友好城市
猜你喜欢
OAuth 2.0 + JWT protect API security
docker部署oracle
The longest ascending subsequence model acwing 482 Chorus formation
Assign a dynamic value to the background color of DataGrid through ivalueconverter
UML 顺序图(时序图)
最长上升子序列模型 AcWing 1014. 登山
The longest ascending subsequence model acwing 1014 Mountaineering
UML 状态图
AI talent cultivation new ideas, this live broadcast has what you care about
Pert diagram (engineering network diagram)
随机推荐
Parsing of XML files
Environment configuration of lavarel env
Analysis of arouter
js 获取当前时间 年月日,uniapp定位 小程序打开地图选择地点
Excuse me, I have three partitions in Kafka, and the flinksql task has written the join operation. How can I give the join operation alone
UML 状态图
Codes de non - retour à zéro inversés, codes Manchester et codes Manchester différentiels couramment utilisés pour le codage des signaux numériques
2022PAGC 金帆奖 | 融云荣膺「年度杰出产品技术服务商」
搜索引擎接口
Cesium knows the longitude and latitude of one point and the distance to find the longitude and latitude of another point
Demis Hassabis谈AlphaFold未来目标
请问,redis没有消费消息,都在redis里堆着是怎么回事?用的是cerely 。
Leetcode——236. The nearest common ancestor of binary tree
JS get the current time, month, day, year, and the uniapp location applet opens the map to select the location
FC连接数据库,一定要使用自定义域名才能在外面访问吗?
Leetcode——344. Reverse string /541 Invert string ii/151 Reverse the word / Sword finger in the string offer 58 - ii Rotate string left
多商戶商城系統功能拆解01講-產品架構
Laravel form builder uses
AI talent cultivation new ideas, this live broadcast has what you care about
ARM Cortex-A9,MCIMX6U7CVM08AD 处理器应用