深入解析香橙派 AIpro开发板:功能、性能与应用场景全面测评
@TOC
引言
OrangePi AIpro
这块开发板是业界首款基于昇腾深度研发的AI开发板,他有8/20TOPS的澎湃算力 是目前开发板市场中所具备的最大算力
,今天非常荣幸拿到OrangePi AIpro
开发板!!我们这次介绍它的功能、性能与应用场景,以及我们带大家移植操作系统并演示这块开发板学习简单、开发软件易学的特点
香橙派AIpro开发板介绍
到手第一感觉
首先,我们打开香橙派AIpro开发板
的包装后,我们可以看到有这些东西:开发板主体盒子(里面带开发板)
、对应的数据线和充电头
,这个充电头是20V+3.25A
的最大功率,完全可以满足我们的开发板
开发板正面
下面这张图片就是我们开发板的主体,在这里我们可以看到一个大大的散热风扇
,可见他的性能是非常的强大
。
在他有非常多的接口,无论是现在主流的Type-C
接口,还是MicroUSB
接口他都是有的,满足我们的不同的需求
除了这两个接口,他还有两个USB3.0
,无论是接鼠标,键盘还是其他的比如硬盘
这种设备都不在话下,可以保证稳定快速的传输速度
我们可以看到,这里还有HDMI
接口,使用他可以让我们连接显示屏
,然后我们可以对此进行一些我们普通电脑的操作,毫不夸张的说:他可以当作一个小型的电脑来使用
,由此也可以得知他的性能是杠杠的
对于网络的连接,他不仅千兆网线,他还配备了无线网卡,他支持WiFi5+蓝牙4.2
轻松应对各种数据接收
除了这些自带的接口,他还提供了对应外设的接线。比如:MIPI DSI 接口
、2个,MIPI CSI摄像头
,看到这里,我想到:我插一个摄像头去就可以使用图像处理了啊,他的性能这么强大,使用图像处理肯定非常的不错
开发板背面
然后我们看到背面:
在背面他有一个256Mbit SPI Flash
的存储芯片
然后他还有M.2 M-KEY
的接口,对于M.2
大家非常的熟悉,他就是我们电脑的固体硬盘的接口,我们可以插固体硬盘给他,然后我们就可以直接去使用
除了这些,他还有TF卡槽
,这就是我们烧写系统需要使用的
性能
性能概况
OrangePi AIpro(8-12T)
采用昇腾AI
技术路线,具体为4核64位Arm处理器+AI处理器
,集成图形处理器,支持8-12TOPS AI(半精度(FP16):4 TFLOPS 整数精度(INT8):8 TOPS)
算力- 拥有
8GB/16GB LPDDR4X
,可以外接32GB/64GB/128GB/256GB
eMMC模块,板载32MB
的 SPI Flash,Micro SD 卡插槽,M.2 M-Key
接口:可接 2280 规格的 NVMe SSD 或 SATA SSD - 支持
双4K
高清输出。
性能体验
开发版的整体表现非常流畅,用户体验良好。
-
负载能力:能够实时处理60FPS的视频,同时推理一张640x640的图像大约只需15-20毫秒。目前尚未进行量化设计,精度仍为float16。完成整数量化后,性能预计会进一步提升。
-
散热效果:Orange AI Pro在散热方面表现出色,配备了散热风扇。连续运行3小时后,板子的温度依然较低,不会因过热影响芯片的工作,散热效果令人满意。
-
噪音水平:开机启动时会有6-10秒左右的较大声音,但在可接受范围内。平时运行各种AI模型时,风扇几乎无声,几乎感觉不到风扇的存在。
应用场景
香橙派 AIpro开发板
他是一块AI开发板,毋庸置疑的可以使用我们AI功能,例如:AI计算,图像分类,目标识别,AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理等功能
香橙派 AIpro开发板
他有高度集成的CPU,他可以轻松实现4K视频的输出
,我们还可以使用他进行音视频开发香橙派 AIpro开发板
他还可以实现我们的物联网,例如:智能安防、智能家居等领域
香橙派 AIpro开发板
还可以实现智能小车、机械臂、无人机等帮助我们工作的好手
香橙派 AIpro开发板
功能是非常多的,这里只是列举了一部分,更多的需要大家自己探索
移植操作系统
香橙派 AIpro开发板支持哪些操作系统?
Orange Pi AIpro
支持Ubuntu
、openEuler
操作系统,满足大多数AI算法原型验证、推理应用开发的需求。我们可以根据我们的需要来烧录对应的操作系统,烧录操作系统的方法非常的简单,下面给大家介绍
烧写操作系统到SD卡中
首先我们需要下载镜像文件:
下载镜像文件
我们可以下载ubuntu:
下载完我们就可以进行下步操作
在这个链接我们可以下载到我们烧写需要的软件balenaEtcher
:Download balenaEtcher
下载打开后,我们可以去选择我们的镜像,选择我们的SD卡目录,非常的简单、快捷:
下面是我们的烧写的过程:
如下,我们就是烧录成功了,可以进行下一步操作
启动开发板的步骤
- 首先,你需要把你刚刚烧录好的SD卡插入开发板
- (可选)把你的HDMI线连接开发板和显示屏
- 插好充电器与MicroUSB(MicroUSB用于串口通信)
- 打开Mobaxterm软件,选择好对应的串口
- 等待开机,即可看到显示屏/串口输出了信息,然后我们就可以输入密码了
- 默认用户名为
HwHiAiUser
,默认密码为Mind@123
查看系统提供的事例程序
- 打开文件管理器
- 在里面有个文件夹
samples
- 里面有个
notebook
文件夹
- 里面有视觉处理等非常多的事例,例如
yolov5实例、OCR实例
等等非常多
- 我们在终端打开此文件夹,输入
./start_notebook.sh
,运行之后,里面有对应的链接,然后我们使用浏览器打开jupyter notebook
,在左侧可以看到对应的文件夹 - 如果我们要运行
01-yolov5
,我们可以在jupyter notebook
里面找到01-yolov5
,然后打开里面的main.ipynb
,里面就可以看到运行按钮了
体验——开发的简洁性
在上面我们可以看到,我们运行示例代码是非常的顺畅的,几乎我们不需要进行其他的操作即可运行我们学习代码。
香橙派 AIpro开发板
配套的操作系统已经给我们安装好了我们可能会使用到的一些东西,非常的方便,这是在其它开发板不具有的
这可以提高我们开发的快速和简洁性,使我们的开发更加有效率
视频播放展示
ffmpeg简介
Fmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。
FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境中编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg的开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的"FF"代表"Fast Forward"。 FFmpeg编码库可以使用GPU加速。
ffmpeg播放视频
安装ffmpeg
- 更新包管理器:
sudo apt update
- 安装ffmpeg:
sudo apt install ffmpeg
- 查看ffmpeg版本:
ffmpeg -version
播放视频
ffmpeg播放视频使用的是ffplay
他可以播放本地视频:ffplay myvideo.mp4
他也可以播放rtsp视频
在这里我们播放一个本地视频给大家:
(base) HwHiAiUser@orangepiaipro:/media/HwHiAiUser/WD Elements$ ffplay 216134_small.mp4
ffplay version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2003-2021 the FFmpeg developers
built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/aarch64-linux-gnu --incdir=/usr/include/aarch64-linux-gnu --arch=arm64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 70.100 / 56. 70.100
libavcodec 58.134.100 / 58.134.100
libavformat 58. 76.100 / 58. 76.100
libavdevice 58. 13.100 / 58. 13.100
libavfilter 7.110.100 / 7.110.100
libswscale 5. 9.100 / 5. 9.100
libswresample 3. 9.100 / 3. 9.100
libpostproc 55. 9.100 / 55. 9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '216134_small.mp4': f=0/0
Metadata:
major_brand : iso5
minor_version : 512
compatible_brands: iso5iso6mp41
encoder : Lavf58.45.100
Duration: 00:00:20.14, start: 0.000000, bitrate: 20252 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 20247 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc (default)
Metadata:
handler_name : ?Mainconcept Video Media Handler
vendor_id : [0][0][0][0]
(base) HwHiAiUser@orangepiaipro:/media/HwHiAiUser/WD Elements$
搭建Orange Ai Pro 手写数字识别模型
项目介绍
这个项目是基于MNIST数据集实现手写数字识别的训练和推理全过程。以下是项目的主要内容:
- 数据集:使用MNIST数据集,该数据集包含大量手写数字的图像。
- 训练:使用Pytorch框架对模型进行训练,模型学习如何识别不同的手写数字。
- 推理:训练完成后,模型可以对新的手写数字图像进行识别和分类。
项目部署
项目链接如下:手写数字识别模型
- 下载源代码
# 登录开发板,HwHiAiUser用户命令行中执行以下命令下载源码仓。
cd ${HOME}
git clone https://gitee.com/ascend/EdgeAndRobotics.git
# 切换到样例目录
cd EdgeAndRobotics/Samples/Mnist_For_Pytorch
- 安装对应需要的包:
# torch_npu由于需要源码编译,速度可能较慢,本样例提供 python3.9,torch2.1版本的torch_npu whl包
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/torch_npu-2.1.0rc1-cp39-cp39-linux_aarch64.whl
# 使用pip命令安装
pip3 install torch_npu-2.1.0rc1-cp39-cp39-linux_aarch64.whl
pip3 install -r requirements.txt # PyTorch2.1版本
- 配置离线推理的环境变量
# 配置程序编译依赖的头文件与库文件路径
export DDK_PATH=/usr/local/Ascend/ascend-toolkit/latest
export NPU_HOST_LIB=$DDK_PATH/runtime/lib64/stub
- 设置环境变量以减少内存的占用导致最后的卡死
export TE_PARALLEL_COMPILER=1
export MAX_COMPILE_CORE_NUMBER=1
- 开始训练
python3 main.py
训练时间需要一会,请耐心等待
- 训练完成之后,运行导出文件
python3 export.py
- 下载测试文件
cd data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/mnist/8.jpg
- 进行推理:
cd ../onnxInfer/
python3 infer.py
输出结果:
可以看到output为8
就代表成功识别到了对应的数字,我们还可以下载其他的数字进行识别
项目部署体验
部署体验:
官方的项目文档写的非常好,基本上你按照文档就不会错,我个人比较喜欢这种一条龙的部署
性能体验:
- 负载:在训练过程中,并没有出现卡死的情况,内存占用都是比较的稳定,CPU也并未全部占用完,这点是比较好的
- 噪音:在训练过程中,风扇保持静默,基本感觉不到其声音
- 散热:在训练过程中,开发板保持温度还是很好的,基本就比正常运行高一点,但不多,这是非常的好的,不会让热量影响芯片性能
使用体验与总结
-
起初我以为部署过程会很复杂,需要大量查阅资料才能完成。然而,体验下来发现官方提供的材料和项目demo非常完善,基本上可以很快上手。各种环境的部署也有相应的详细文档,比我预期的难度要小得多。
-
在AI算力方面,推理速度非常出色,NPU的推理速度可以满足大部分实时处理需求,比如我们上面样例的
图片推理训练
,适合我进行一些DIY智能家居项目。 -
丰富的硬件功能,Orange AI Pro 配备了多种硬件接口,为开发更复杂的AI应用提供了更多可能性。
Orange AI Pro 强大的AI能力和便捷的使用体验给我留下了深刻的印象。未来,我希望能通过Orange AI Pro 创作出更多AI应用,感兴趣的朋友千万不要错过!
接下来,我也会利用Orange AI Pro 进行一些新的尝试和AI应用,希望能为大家提供一些参考意见。
- 点赞
- 收藏
- 关注作者
评论(0)