OrangePi AiPro初体验

 

OrangePi AIpro是香橙派联合华为一起做的AI的开发板,用于AI智能生态的建设。

这周终于拿到了开发板,于是马上打开,看看这个心心念的华为chip的 AI板到底如何。

所有硬件如下图所示:

一个包装盒子,盒子比较坚固,带有一个厚厚的海绵,这样保护板子不会被粗暴的快递公司所损坏。

一个电源,功率60瓦,这个开发板还是比较厚道了,有些开发板居然学习苹果手机,连电源适配器都不带,增加客户的难度。这个电源做工看着不错!为orange公司点赞,有心了。

最后看这个开发板,整个板子的做工比较扎实,焊点清晰,干净。但是wifi天线有些粗糙,没有做成标准天线的形式(不过后来听说有个与这个板子搭配的盒子,做成这个形式是方便安装到那个盒子中去,有感兴趣的可以去官网查看)。

下面开始仔细研究这个板子。

核心chip介绍

orangeAi pro开发板采用华为昇腾310B,是4核64位A55+AI处理器的核心,可以提供INT8的8TOPS算力或者Float的4 TFLOPS算力,性能比较强悍。这个板子采用8G LPDDR4X的低功耗内存。

开发板介绍

开发板的正面视图如下所示:

开发板的背面视图如下所示:

 

板子有蓝牙/WIFI, 3个USB接口,千兆网口,MIPI DSI接口可以连接显示屏,2个MiPI CSI摄像头接口。

这个板子比较有特点的是可以自己插入emmc和ssd,第一次见到这样的板子,一般的板子都是在板子上焊接的emmc,很有心。不错,不错!

与树莓派一样,留出一组gpio,既可以作为gpio,又可以做一些简单的通信(spi等)用于控制外设,可玩性比较高。

板子有两路HDMI, 这个对于视频应用比较友好。昇腾310B支持硬解H265, 配合这两路HDMI接口,可能满足许多用户的需要了!后续有空,测试一下H265的能力!

板子上的debug串口直接接到了CH343P上,usb转串口,这样找到一条microUsb线则能进行调试了。很贴心的设计!debug串口就是我们这些嵌入式工程师的生命线,许多时候需要debug串口来查看系统的问题。这个板子,不需要额外的usb转串口的工具,直接在开发板上layout了CH343p,真是感谢layout板子的兄弟了!

烧录系统

系统支持tfcard, emmc, ssd启动方式,我手头没有emmc和ssd子卡,所以没有办法进行这两个测试。香橙派公司赠送了一张32G sandisk的TF卡,所以我采用TF卡来烧录系统。

  1. 首先下载ubuntu软件烧录包,下载地址为:

https://pan.baidu.com/share/init?surl=csbugZiKsuL_NHCOmyi1BA&pwd=ma6z

这里有两个ubuntu版本,我们选择ubuntu22.04_desktop_aarch64的版本

  1. 下载工具balenaEtcher

香橙派官方推荐使用balenaEtcher作为烧写image到TF卡的工具。

balenaEtcher的官网访问很慢,可以百度找到国内的网站去下载。

  1. 烧录过程请参看参考文档1中的用户手册,比较简单。

注意,烧录完成后,balenaEtcher会进行文件完整性效验,我烧录两次,但是完整性验证都失败了。后来我直接拿去跑,还是能跑的!!

  1. 将开发板的boot的两个拨码开关都拨到最右边,然后插入TF卡,连接debug串口,连接显示器到HDMI0
  2. 启动,从debug串口中看到系统启动起来了

但是显示器没有显示.......奇怪

更换了两根HDMI线,依旧没有输出.......

最后将显示器强制设为数字输入,则UI出来了

开心.........

  1. 插入USB键盘和鼠标
  2. 登录系统,密码为Mind@123
  3. 链接为Wifi, ping www.baidu.com ,显示网络连接成功

系统简单测试

  1. 查询系统内存

使用free -g ,可以看到系统内存为8G,

  1. cpu-info

看到cpu为4核心,但是核心类型无法识别,网上有些资料说这个cpu是Arm cortex-A55

注意cpu-info需要安装

  1. cpufreq-info

看到cpu频率无法识别

  1. npu-smi命令

这个命令是华为独有的吧?用来配置control cpu和ai cpu的分配数量。

开发板使用的昇腾310B这个芯片有四个cpu,这4个cpu既可以配置为control cpu,也可以设置为ai cpu。control cpu就是作为普通的cpu使用。ai cpu就是给ai npu调度任务使用。

输入命令: npu-smi info -t cpu-num-cfg -i 0 -c 0

可以看到当前3个contrl cpu,1个AI cpu

  1. coreMark测试

coreMark是一个综合性的基准测试程序,专门用来测试cpu的性能。它由读写操作,整数操作和状态机控制等操作混合而成,代码量小且易于理解。我们一般对于arm这种嵌入式系统都会做coreMark测试。

5.1 下载coreMark

在PC主机上下载,下载地址为https://github.com/eembc/coremark

5.2 通过winscp将coreMark传输到开发板orangePi AIpro上

主机名为开发板的IP地址,用户名和密码为ubuntu系统的账号和用户名

5.3 测试

单核测试:

通过terminal进入到coremark目录,输入命令:

make compile XCFLAGS="-DMULTITHREAD=1 -DUSE_PTHREAD"

./coremark.exe >run1.log

打开run1.log,看到单核测试成绩:

 

三核测试:

通过terminal进入到coremark目录,输入命令:

make compile XCFLAGS="-DMULTITHREAD=3 -DUSE_PTHREAD"

./coremark.exe >run2.log

打开run2.log,看到单核测试成绩:

 

对比其他处理器

可以看到3核心的cpu成绩与树莓派4所用处理器BCM2711相似。BCM2711是 4核,1.5Ghz。

 

AI学习

这款开发板最大的特色就是集成了华为强大的NPU,基于华为强大的研发实力,我们能够体会AI的强大与美妙。

  1. 华为AI介绍

华为AI全栈解决方案如下图所示:

昇腾AI整个技术栈可以分为四个部分,从底层到上层依次为:

  1. 计算机硬件(也就是昇腾310,910等chip)
  2. 异构计算架构CANN,这个是个通用的计算框架,为上层AI框架进行加速,支持多种上层常用的AI框架。
  3. AI框架层面,这里包含用于构建模型的训练框架,例如tensorFlow,pytorch等,还有华为的MindSpore
  4. 这是个应用层,各种图像图形识别等具体的应用

 

华为CANN异构计算架构结构如下:

AscendCL(Ascend Computing Language,昇腾计算语言)是昇腾CANN对底层计算服务接口的封装,它提供运行时资源(例如设备和内存等)管理,模型加载和运行,算子加载与执行,图片数据编解码/裁剪、缩放处理,实现在CANN平台上进行深度学习,图像预处理,单算子加速计算等能力。简单说就是一组API,实现对NPU资源的调用分配使用。

AscendCL优势如下:

  1. 高度抽象: 算子加载编译运行api归一,大幅减少api数量.
  2. 向后兼容,保证api升级后,旧版的api依旧可用!这个只能信任华为了....
  3. 一套api兼容多款昇腾处理器!

使用AscendCL的开发流程:

  1. 构建模型,使用ATC工具转换模型,使用Ascend Graph接口构建模型
  2. 应用开发, 数据预处理,模型加载与执行,单算子执行
  3. 编译运行
  4. 优化

2 体验AI

orangePi AIpro开发板自带了多个AI的sample,我们可以通过这些例子,来了解如何使用AscendCL来开发具体的应用程序。

    1. 目标检测

这个sample使用YOLOv5来对目标进行检测。

YOLOv5是Glenn Jocher等人研发的Ultralytics公司的开源项目。YOLOv5根据参数量分为了n,s,m,l,x五种类型,其参数量依次上升,效果也越来越好。

ONNX即Open Neural Network Exchange,是微软和Facebook发布的一个深度学习开发工具生态系统。ONNX所针对的是深度学习开发生态中最关键的问题之一,在任意一个框架上训练的神经网络模型,无法直接在另一个框架上用。ONNX实现了不同框架之间的互操作性。

OM模型是华为推理架构模型格式,如果要使用AscendCL则需要将其他的格式转为OM模型格式。华为为我们提供了专用的工具ATC来完成格式转换。ATC支持华为MindSpore的air格式模型,TensorFlow的pb格式,但是ATC不能直接转换Pytorch模型格式,需要利用ONNX格式作为过渡。

YOLOv5训练的ONNX格式转换为om模型的命令如下:

 

运行结果如下所示:

可以看到汽车都被识别出来了!真的很强大,后面应该自己训练,然后看看实战效果!!!!

    1. 目标分类

ResNet是经典的视觉分类网络之一,这个有样例使用了ResNet50算法。

caffe模型通常包括两个主文件,prototxt文件和caffemodel文件。本实验基于Caffe ResNet-50网络实现图片分类。

caffe模型格式需要转换为om格式,命令如下:

运行结果如下所示:

看到最高的置信度的为Standard Poodle,正是这只狗!

c. 其他

用户手册还提供了OCR文字识别,图像曝光增强,蛋白质分子评估,细胞图像分割,开通图像化,语音识别等样例

总结:

AI发展真是迅速,AI真是强大,在很多地方已经显著的提高了生产力。在AI的时代,我们必须也要紧跟时代的步伐,学习最前沿的AI知识!

orangePi AIpro开发板刚好给我们提供了学习和使用AI的平台!后面我会自动动手做一些训练,充分挖掘昇腾310的潜力!

 

参考文档:

  1. http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html
  2. https://www.hiascend.com/developer/techArticles/20240416-1?envFlag=1
  3. https://www.hiascend.com/software/cann
  4. https://www.hiascend.com/developer
  5. https://zhuanlan.zhihu.com/p/560596495
  6. https://zhuanlan.zhihu.com/p/651170489
  7. https://blog.csdn.net/CVAIDL/article/details/88801756
  8. https://zhuanlan.zhihu.com/p/545735341

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值