香橙派OriengePi AiPro 华为昇腾芯片开发板开箱测评
博主有幸受邀CSDN测评香橙派与华为昇腾共同研发的OriengePi AiPro的开箱测评,本文会对正常使用的一些情况做记录,包括常用配置,docker配置使用,以及可能包含机器人相关的一些配置等,同时也会对产品的性能及使用的感受做分享。
2023.12月初,香橙派联合华为发布了基于昇腾的Orange Pi AIpro开发板,提供8/20TOPS澎湃算力,能覆盖生态开发板者的主流应用场景,让用户实践各种创新场景,并为其提供配套的软硬件。而价格更是极为亲民,8TOPS、8GB内存的创客价/预售价仅为799元,8TOPS、16GB内存的创客价/预售价仅为999元。1
OrangePi AIpro(8T)采用昇腾AI技术路线,具体为4核64位处理器+AI处理器,集成图形处理器,支持8TOPS AI算力,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出。 Orange Pi AIpro引用了相当丰富的接口,包括两个HDMI输出、GPIO接口、Type-C电源接口、支持SATA/NVMe SSD 2280的M.2插槽、TF插槽、千兆网口、两个USB3.0、一个USB Type-C 3.0、一个Micro USB(串口打印调试功能)、两个MIPI摄像头、一个MIPI屏等,预留电池接口,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。 Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求2。
包含一个充电头,一个type c数据线,及香橙派主体
充电头支持:5V⎓3A/9V⎓3A/12V⎓3A/15V⎓3A/20V⎓3.25A
这里通过cat /proc/cpuinfo
查到cpu架构是arm v8,wget下载对应的nomachine。
如果没有显示屏无法联网,可以通过路由器接有线到香橙派自动获取ip,通过路由器后台查看ip地址,系统默认开启了sshd,可以远程连接。
管理员账号:root
普通账号:HwHiAiUser
密码:Mind@123
wget https://download.nomachine.com/download/8.11/Arm/nomachine_8.11.3_3_arm64.deb
安装
sudo apt-get update
cd ~/Downloads
sudo dpkg -i nomachine_8.11.3_3_arm64.deb
# -----OUT PUT--------
Unpacking nomachine (8.11.3-3) ...
Setting up nomachine (8.11.3-3) ...
NX> 700 Starting installation at: Tue, 21 May 2024 22:14:35.
NX> 700 Using installation profile: Ubuntu.
NX> 700 Installation log is: /usr/NX/var/log/nxinstall.log.
NX> 700 Installing nxrunner version: 8.11.3.
NX> 700 Installing nxplayer version: 8.11.3.
NX> 700 Installing nxnode version: 8.11.3.
NX> 700 Installing nxserver version: 8.11.3.
NX> 700 Installation completed at: Tue, 21 May 2024 22:14:58.
NX> 700 NoMachine was configured to run the following services:
NX> 700 NX service on port: 4000
这时就能通过本地安装的nomachine远程连接过去了。
如果是无线,记得勾选所有用户都可使用,否则必须登录用户后才会自动连接无线
由于sd卡安装docker镜像已经占用比较多的存储空间,这里使用外部优盘拓展存储,查看当前外界存储:
fdisk -l
挂载到你的目标路径,
mount /dev/sda /home/HwHiAiUser/workspace/udisk/
df -h
创建swap文件
sudo dd if=/dev/zero of=/home/HwHiAiUser/workspace/udisk/swapfile bs=1024 count=16777216
格式化分区文件
sudo mkswap /home/HwHiAiUser/workspace/udisk/swapfile
# -----Out Put-----
mkswap: /home/HwHiAiUser/workspace/udisk/swapfile: insecure permissions 0755, fix with: chmod 0600 /home/HwHiAiUser/workspace/udisk/swapfile
Setting up swapspace version 1, size = 16 GiB (17179865088 bytes)
no label, UUID=7baed9dd-d486-4b99-98bc-65ff3341655a
启动swap区
sudo swapon /home/HwHiAiUser/workspace/udisk/swapfile
校验是否启用,可以看到下图已经出现了一个15G的swap区
free -h
# -----Out Put-----
total used free shared buff/cache available
Mem: 7.4Gi 1.2Gi 599Mi 48Mi 5.6Gi 6.0Gi
Swap: 15Gi 0B 15Gi
停止使用swap区代码如下
sudo swapoff /home/HwHiAiUser/workspace/udisk/swapfile
我的系统已经默认安装了docker,如果未安装可以自行下载。
# 报警如下处理方法
docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
添加当前用户到docker组,即可解决上述报警
sudo gpasswd -a $USER docker # 将当前用户添加至docker用户组
newgrp docker # 更新docker用户组
这里打算以ros2 humble jammy做为此次的基础镜像。
docker pull ros:humble-perception-jammy
# -----OUT PUT--------
humble-perception-jammy: Pulling from library/ros
9b076355b79b: Pull complete
a0b98a01e18c: Pull complete
da8c8a40f001: Pull complete
aeb1b0e62af2: Pull complete
c44d471f288e: Pull complete
509cd74b317a: Pull complete
79337a550a6b: Pull complete
26db6393e0d5: Pull complete
8c7673b38fa6: Pull complete
040d7a25c186: Pull complete
27d776fd0281: Pull complete
799c0af82dd6: Pull complete
Digest: sha256:76cbc14b927751267c5a3068343cb532f71a157d2b1a3a9ed1c116e571149f71
Status: Downloaded newer image for ros:humble-perception-jammy
具体搭建博主写了一篇文章可以参考《raspberry pi/orienge pi等arm架构硬件打包ros humble docker开发镜像-CSDN博客》
查看版本匹配可以参考这里
torch | torchvision | Python |
---|---|---|
main / nightly | main / nightly | >=3.8 , <=3.11 |
2.2 | 0.17 | >=3.8 , <=3.11 |
2.1 | 0.16 | >=3.8 , <=3.11 |
2.0 | 0.15 | >=3.8 , <=3.11 |
博主选择的是torch 2.2和torchvision 0.17安装如下:
pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch==2.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torchvision==0.17.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
下载安装yolo v8
pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
运行测试程序:
yolo predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'
运行结果如下:
下图是训练所需的时常,训练3个epoch,4张图,117个实例,训练时长大约为36s
detect 4个人,1辆车,一个停车标志所用时间为533.8ms
查询当前的npu名称
npu-smi info
模型转换命令,根据情况设置参数,博主用的是上边这句:
atc --model=best.onnx --framework=5 --output=best --input_format=NCHW --log=error --soc_version=Ascend310B4
atc --model=yolo.onnx --framework=5 --output=yolo --input_format=NCHW --input_shape="input_image:1,3,640,640" --log=error --soc_version=Ascend310B4
博主测试了两次,转换时间大概需要28min。
至此本篇对于香橙派在配置使用上做了日常使用和一些模型训练、推理、转换上的基本使用,前期主要实现了常用配置及docker、yolo v8的安装使用,开发板的使用体感流畅度都能保证,性能也能满足正常的使用,不管是运行docker还是yolo都能有不错的流畅性。开源社区也提供了大量的技术文档,让初入手的同学也能根据文档对使用及配置有总体的了解,发现问题同样也能在社区找到对应的解决流程。
在通过华为定义的格式ATC(Ascend Tensor Compiler)异构计算架构CANN体系下的模型转换的时间稍微有点长,但是调用已经转好的om模型运行时,推理速度非常快,这里凸显了8Tops npu算力对于深度学习领域方面有质的提升。
香橙派 AIpro是一款非常优秀 AI 边缘计算开发板,优秀的价格推动AI 部署的普遍化的进程,让每一个人都有机会能使用到高性能的AI开发硬件,推动AI整个生态环境的进步,希望有更多的小伙伴能在类似这种AI开发板的基础上学习和成长。