8T算力香橙派AiPro开箱体验及AI模型跑板性能测评

 

【前言】首先谢谢香橙派社区邀评,作为一名AI行业的从业者,我将会在本篇博客这段时间上板的体验和心得。

一、背景

目前市面上的AI开发板种类繁多,通常具备高性能的处理器、专用的AI加速硬件以及多种接口,以支持AI算法的运行和开发,但对于国内公司,生存成本和盈利是首要考虑的目标,因此在AI算法部署上次,优先考虑性价比最高的板子,现在国内最常见的百元AI开发板(裸板售价450-999不等)有以下几种:

  1. NVIDIA Jetson 系列:NVIDIA的Jetson系列开发板,如Jetson Nano、Jetson TX1等,提供了强大的CUDA核心和深度学习加速器,适用于复杂的AI应用,具备强大的算子自主开发能力和生态社区友好性,但由于售价过高,性价比相对较低。
  2. Raspberry Pi系列:Raspberry Pi 5/4本身并不是专门的AI开发板,但搭配AI Hat(如Google Coral的AI Hat)后,它可以成为一个功能强大的AI边缘计算平台,更有后来5系列的推出,在arm上跑模型以及不是一件奢侈的事,但购买者更看重的,是树莓派的社区生态。
  3. Orange Pi AI系列:香橙派(Orange Pi)是一家知名的硬件制造商,提供多种开发板,常见有香橙派系列,目前主要合作芯片厂家有瑞芯微和华为昇腾,它们的开发板提供了对AI应用友好的硬件和接口,如RK3588系列,AiPro系列。
  4. Horizon Journal系列:原本地平线征途应该是属于车载领域中高端系列,当由于国内近几年一直降本增效,地平线也在不断下沉市场,相信很快,地平线会推出性能介于x3和J3之间的AI开发板。

二、OrangePi AIpro简介

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算法原型验证、推理应用开发的需求。

OrangePi AIpro上板体验

我们拆开包装袋,呈现的Aipro是这样的,默认以及加装了散热风扇。

这时候,我们插上电登录桌面,桌面是需要登录密码才能进入,用户名HwHiAiUser,密码Mind@123,如下所示。

进入界面后,我们查看下IP,并使用SSH连接板端:

我们查看下npu信息,使用命令:npu-smi info

左边红框为设备SOC型号,右边红框为板子温度和NPU显存大小。

由于Aipro带了四颗AI core,我们可以使用npu-smi info watch来查看npu,AI core以及cpu的资源情况:

以上是Aipro的开箱体验,相对来说各种资源和调度软件都做得非常友好。

四、常见AI模型测评

既然是AI开发板,那么对于AI生态的支持肯定是最为关键的,这一章节将和大家一起测试常见AI模型在Aipro上的性能,分别包括:YOLOv5s、YOLOv6s、YOLOv8s等模型。

这个环节相对来说较为复杂,首先需要将上述模型转为onnx形式,这个就需要读者们自己完成,转出onnx模型后,我们就可以使用CANN库对模型进行转化,下面以YOLOv8s为例。

我们先转出onnx模型:

yolo export model=yolov8s.pt format=onnx opset=12 simplify

得到的onnx模型可视化如下

由于国内目前的NPU板子对于DFL检测头的支持普遍都不高效,因此我们需要将这一块砍掉,使用以下代码:

import onnx

input_path = "yolov8s.onnx"
output_path = "yolov8s-tmp.onnx"
input_names = ["images"]
output_names = ["/model.22/Concat_output_0",                
                "/model.22/Concat_1_output_0", 
                "/model.22/Concat_2_output_0"]

onnx.utils.extract_model(input_path, 
                        output_path, 
                        input_names, 
                        output_names)

这个时候得到的onnx是这样的:

接下来的步骤,先对onnx模型进行量化,使用官方amct工具包:

amct_onnx calibration --model ./model/YOLOv8s.onnx --save_path ./results/YOLOv8s --input_shape "images:1,3,640,640"  --data_dir "./data/calibration"  --data_types "float32"

就是将onnx模型转为om模型,也就是Aipro支持的模型格式:

atc --mode 0 --model "yolov8s.onnx" --framework 5 --input_format "NCHW" --input_shape "images:1,3,640,640" --output yolov8s --output_type "INT8" --host_env_os "linux" --host_env_cpu "aarch64" --soc_version "Ascend310B4"

最终的om模型形式如下:

再接下来的部分,我们放出模型的测评结果。

4.1 YOLOv5s模型

使用以下命令进行非量化模型测试:

 

python3 -m ais_bench --model=yolov5s.om --loop=1000 --batchsize=1

测试结果:

使用以下命令进行量化模型测试:

python3 -m ais_bench --model=yolov5s-int8.om --loop=1000 --batchsize=1

测试结果:

4.2 YOLOv6s模型

使用以下命令进行非量化模型测试:

python3 -m ais_bench --model=yolov6s.om --loop=1000 --batchsize=1

测试结果:

使用以下命令进行非量化模型测试:

python3 -m ais_bench --model=yolov6s-int8.om --loop=1000 --batchsize=1

测试结果:

4.3 YOLOv8s模型

使用以下命令进行非量化模型测试:

python3 -m ais_bench --model=yolov8s.om --loop=1000 --batchsize=1

测试结果:

使用以下命令进行量化模型测试:

python3 -m ais_bench --model=yolov8s-int8.om --loop=1000 --batchsize=1

测试结果:

五、总结

由于博主拿到板子后写这篇博文的时间仅有几天时间,虽然期间测试了一些常见的AI模型,但相对来说还远远不够,更准确来说应该要测试更多指标、更大范围的模型,比如官方给出的在batch=4/8,资源占用最大的情况下,测试的模型性能最优,参考:https://gitee.com/zhaojiankuan/modelzoo-GPL/tree/master/built-in/ACL_Pytorch/Yolov5_for_Pytorch

该测评数据会在后续补上。

总体而言,Aipro在国内还是能打的,毕竟8T算力售价799起,性价比拉满,当然我也相信,香橙派社区会在高端性能领域推出更多高性价的AI开发板。

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值