香橙派OriengePi AiPro 华为昇腾芯片开发板开箱测评

香橙派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^。

OrangePi AIpro

硬件相关及配置

外观

包含一个充电头,一个type c数据线,及香橙派主体

充电头支持:5V⎓3A/9V⎓3A/12V⎓3A/15V⎓3A/20V⎓3.25A

接口

配置虚拟桌面

这里通过cat /proc/cpuinfo查到cpu架构是arm v8,wget下载对应的nomachine。

如果没有显示屏无法联网,可以通过路由器接有线到香橙派自动获取ip,通过路由器后台查看ip地址,系统默认开启了sshd,可以远程连接。

bash 复制代码
管理员账号:root
普通账号:HwHiAiUser
密码:Mind@123
bash 复制代码
wget https://download.nomachine.com/download/8.11/Arm/nomachine_8.11.3_3_arm64.deb

安装

bash 复制代码
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远程连接过去了。


网络配置

如果是无线,记得勾选所有用户都可使用,否则必须登录用户后才会自动连接无线

拓展swap内存

由于sd卡安装docker镜像已经占用比较多的存储空间,这里使用外部优盘拓展存储,查看当前外界存储:

bash 复制代码
fdisk -l

挂载到你的目标路径,

bash 复制代码
mount /dev/sda /home/HwHiAiUser/workspace/udisk/
df -h

创建swap文件

bash 复制代码
sudo dd if=/dev/zero of=/home/HwHiAiUser/workspace/udisk/swapfile bs=1024 count=16777216

格式化分区文件

bash 复制代码
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区

bash 复制代码
sudo swapon /home/HwHiAiUser/workspace/udisk/swapfile

校验是否启用,可以看到下图已经出现了一个15G的swap区

bash 复制代码
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区代码如下

bash 复制代码
sudo swapoff /home/HwHiAiUser/workspace/udisk/swapfile

软件相关及配置

docker

我的系统已经默认安装了docker,如果未安装可以自行下载。

bash 复制代码
# 报警如下处理方法
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组,即可解决上述报警

bash 复制代码
sudo gpasswd -a $USER docker  # 将当前用户添加至docker用户组
newgrp docker                 # 更新docker用户组

基础镜像搭建

这里打算以ros2 humble jammy做为此次的基础镜像。

bash 复制代码
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博客

pytorch安装及匹配

查看版本匹配可以参考这里

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安装如下:

bash 复制代码
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测试使用

下载安装yolo v8

bash 复制代码
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名称

bash 复制代码
npu-smi info

模型转换命令,根据情况设置参数,博主用的是上边这句:

bash 复制代码
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开发板的基础上学习和成长。


  1. 香橙派AIpro学习资源一站式导航_Orange Pi AIpro_昇腾论坛 (hiascend.com) ↩︎

  2. Orange Pi AIpro Orange Pi官网-香橙派(Orange Pi)开发板,开源硬件,开源软件,开源芯片,电脑键盘 ↩︎

相关推荐
顾建安9 天前
使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件
rust·交叉编译·arm64·静态编译
aspirestro三水哥1 个月前
4.4.5 timer中断流向Linux(从interrupt log回放)
linux·运维·服务器·arm64·xenomai
chaoguo12341 个月前
一文搞懂 ARM 64 系列: ADD(立即数版)
add·arm64
chaoguo12341 个月前
一文搞懂 ARM 64 系列: PACISB
arm64·pacibsp
zjun30211 个月前
什么是CANN和Ascend C
c++·人工智能·华为·昇腾·cann·ascendc
CYRUS STUDIO1 个月前
ARM64汇编寻址、汇编指令、指令编码方式
android·汇编·arm开发·arm·arm64
Seal软件2 个月前
在昇腾Ascend 910B上运行Qwen2.5推理
ai·大模型·llm·昇腾·genai
CYRUS STUDIO2 个月前
详解ARM64可执行程序的生成过程
android·c语言·汇编·c++·gdb·arm64
华为云开发者联盟2 个月前
1024 | 码客聚会,云上跃迁,探秘华为云和他的开发者朋友们的故事
人工智能·鸿蒙·昇腾·1024程序员节
plmm烟酒僧2 个月前
qemu模拟arm64环境-构建6.1内核以及debian12
linux·debian·qemu·虚拟机·香橙派·aarch64