面向 AI 而生的香橙派 AIpro 开发板开箱实测

前几天搞到一块很牛掰的开发板,是香橙派联合华为精心打造的高性能 AI 开发板 – OrangePi AIpro 开发板。

在这里插入图片描述

其搭载了昇腾 AI 处理器,可提供 8TOPS INT8 的计算能力,作为单板硬件设备来说,算力杠杠的了,至于跑 AI 模型性能如何?事不宜迟,现在让我们一起来开箱实测体验一番,开始吧!

在这里插入图片描述

硬件配置

先来看一下这板子都有哪些硬件配置

在这里插入图片描述
在这里插入图片描述

就这配置完全算得上一台小型电脑了,真棒!我手上拿到的板子是 8G 内存,还自带了一块 32G 的 TF 卡,看来是已经备好了启动镜像,贴心到让用户开机可用了。

不过这配置比较大众,对于笔者从事的机器人领域来说,陀螺仪这种必备的配置却是欠缺了,小遗憾。

看官方手册说,处理器方面是带了专用的 AI 处理器,开发板使用的处理器是昇腾 SOC,总共有 4 个 CPU 核,全部可分别设置为 control CPU,或者设置为 AI CPU,也就是可选择的双模处理器。在默认情况下,control CPU 和 AI CPU 的分配数量为 3:1。如果你的应用模型是没有使用到 AI CPU 算子的话,可以手动配置一下全部 CPU 改为 control 模式,这样就不会让任何 CPU 在闲置状态了。

如果你已经知道怎么进入系统,可以输入下面的查看 CPU 状态的指令看看,没有的话可以先跳过这里:

$ npu-smi info -t usages -i 0 -c 0
Memory Capacity(MB) : 7545
Memory Usage Rate(%) : 20
Hugepages Total(page) : 15
Hugepages Usage Rate(%) : 100
Aicore Usage Rate(%) : 0
Aicpu Usage Rate(%) : 0
Ctrlcpu Usage Rate(%) : 1
Memory Bandwidth Usage Rate(%) : 1

板子还没运行什么应用,Aicpu 利用率是 0,Ctrlcpu 也只是稍微动了一下。

再来看看板子的布局和各种接口的位置:

在这里插入图片描述

进入系统

想要灵活使用板子或者调试板子的大部分功能,进入系统无疑是第一步。由于我的本本是坑爹的 Mac M2 Pro,官方手册只介绍了 Windows 和 Ubuntu 下的调试环境搭建。所以,接下来,我就演示一下我这边是如何通过 mac 系统进入开发板的。

登录开发板有几种常见方式:

  1. 通过鼠标键盘和显示器直接登录系统操作界面
  2. ssh 透过网络登录系统
  3. USB 连接调试串口

其中最基础和可靠的方式就是串口连接系统,无论系统是否支持操作界面,或者系统是否已联网和 IP 可知,等都不影响串口的连接,默认第一次开机我们都可以使用这种方式来进入系统。

这块板子预留了 40 pin 的管脚外接,方便进入系统的串口也在里边可以找到,不过直接使用这个串口管脚真的挺费功夫的。幸好,厂家在板子里集成了 CH343P 的芯片,帮我们把这串口的 tx 和 rx 引到了 Micro USB 接口上。所以,我就直接用了这根 USB 也可以连上系统。

在这里插入图片描述

外部连接线这样就够了。

这里有个很重要的前提就是,这个板子是可以上电顺利启动的,能启动就说明板子顺利加载系统成功,如上图左下角所示的两个绿色 LED 灯都点亮就表明启动成功了。

不过,如果你的板子不幸无法顺利上电开机,就需要自己按照官方手册亲自刷一遍镜像了,而厂家提供的刷机工具还是很顺手的,后边有兴趣可以再折腾一下。

板子上电后的启动方式有好几种可选,都是通过板子背面的两个拨码开关设置:

在这里插入图片描述

设置的指引是:

在这里插入图片描述

我手里的这块板子自带的 TF 卡已经刷过功能完备的镜像了,而且是带操作界面的。板子默认都是设置为 TF 启动的,无须修改,直接上电即可启动系统。如果不行,可检查一下是否 TF 卡槽接触松动。

板子启动成功后,在工作电脑里按照下面图示的操作步骤,来确认串口是否被识别成功:

在这里插入图片描述

系统–>通用–>关于–>系统报告–>硬件–>USB,然后找到这个 USB 设备(也即是上面说的串口),Vendor ID 应该是 0x1a86 就对了。

如果这一步,你的工作电脑识别不了对应的设备,大概率是未安装驱动的原因,到网上搜索一下 CH343P 的 mac 驱动,由于 Mac M2 是 arm64 的架构,所以下载驱动时也要对应版本下载。

驱动安装过程从略。。。

接着就是怎么操作通信了,一般在 Windows 端有各种串口调试助手或者强大的远程连接终端界面可用,这里我要介绍一下 Mac 系统下非常好用的免费多功能远程终端 Termius。

Termius 除了强大的 ssh 集成功能,还可以用于串口连接,简单易用,界面直观。双击打开软件界面:

在这里插入图片描述

点击 SERIAL 选择串口连接,进入配置页面:

在这里插入图片描述

在 Serial Port 一栏选择 /dev/tty.wchusbserial 开头的设备。

在这里插入图片描述

在 Baud rate 一栏选择串口的通信波特率 115200,其它默认即可,最后点击 Connect 连接板子系统。

在这里插入图片描述

进入时,终端会提示输入帐号密码,参照官方手册即可。

从上面的图可看到,其实我这里已经对系统配过网络,所以也能看到板子设备的 IP 地址,也就能通过 ssh 安全连接进入系统。虽然通过串口可以很稳定地连接系统,但是有时需要往板子中传送大文件时,切换到 ssh 连接方式,传送文件会更快。

板子配网过程和一般 linux 系统配网一样。

性能测试

为了实测一下这板子运行 AI 算法的性能,下面就在板子里边安装部署一个 AI 算法模型用于图像处理。基于目前非常流行的 YOLO 图像算法模型,它的部署和应用都比较简便快速,所以选择了它。

YOLO 设计目标是提供一个快速、准确且易于使用的 AI 图像处理算法。YOLOv8 基于深度学习和计算机视觉领域的尖端技术,在速度和准确性方面具有无与伦比的性能,从边缘设备到云 API 等不同平台,它都能胜任目标检测和跟踪、实例分割、图像分类和姿态估计等任务。

虽然 YOLO 已经推出了 v8 版本,但是为了安装部署更快捷一些我这里选择 v5 版本,你要是想折腾也可以自行选择。

YOLO 的 github 仓库地址:

https://github.com/ultralytics/yolov5

这个工程要求 Python 版本 >= 3.8.0,所以开始之前,我们检查一下板子系统自带的 python 版本是多少

$ python --version
Python 3.9.9

目前板子的自带工具足够了,无须继续更新。

YOLO 安装过程:

git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt

应用推理

YOLO 提供了两种应用推理的方式,使用 PyTorch Hub 或者 直接执行脚本 detect.py。

启动配置当然越简单越好,毕竟时间是宝贵的。调用脚本就比较简单直接,选它,调用 detect.py 的命令格式是:

python detect.py --weights yolov5s.pt --source 0                               # webcamimg.jpg                         # imagevid.mp4                         # videoscreen                          # screenshotpath/                           # directorylist.txt                        # list of imageslist.streams                    # list of streams'path/*.jpg'                    # glob'https://youtu.be/LNwODJXcvt4'  # YouTube'rtsp://example.com/media.mp4'  # RTSP, RTMP, HTTP stream

执行这个脚本过程中,会触发下载依赖文件 yolov5s.pt。如果网络受限,可以考虑换个环境再手动下载,然后复制过来放到工程的根目录(与 detect.py 文件同一目录)即可:

curl --output yolov5s.pt https://github.com/ultralytics/yolov5/releases/download/v7.0/yolov5s.pt

好了,东风已就绪,下面往模型中输入几张测试图片:

准备第一张:

我就比较懒,不想再安装什么工具了,直接使用 scp 指令传送源图片进板子

在这里插入图片描述
开始执行:

在这里插入图片描述

从指令输出可以看到,这张图推理过程速度非常可观,1.9ms pre-process, 646.4ms inference, 27.4ms NMS per image at shape (1, 3, 640, 640)。

在这里插入图片描述

从推理后的处理结果来看,图片中的物体基本识别出来了,但是右边的几颗果子被遗漏了,不知为何识别不了,总体结果还行。

准备第二张,这是一本书的封面,封面中有几个老朋友在上面:

在这里插入图片描述
开始执行:

在这里插入图片描述

从指令输出可以看到,这张图推理过程速度同样可观,6.5ms pre-process, 694.5ms inference, 4.0ms NMS per image at shape (1, 3, 640, 640)。

在这里插入图片描述

从推理后的处理结果来看,图片中的人物和物体都识别出来了,除了右边反光的人物头像,这个对人眼识别来说也有难度,结果很满意。

准备第三张,照片里有两个长得比较抽象的副旺萌神艺术雕像,和一杯新鲜龙眼:

在这里插入图片描述
开始执行:

在这里插入图片描述

从指令输出可以看到,这张图推理过程速度非常快,1.7ms pre-process, 605.5ms inference, 2.8ms NMS per image at shape (1, 3, 640, 640)。

在这里插入图片描述

从推理后的处理结果来看,只识别到杯子,而图片中最吸引人的艺术雕像却被忽略了,结果差强人意,看来算法模型在艺术品这一块还需要调整一下。

虽然 YOLO 模型还支持自定义数据集的训练,但是本次测试的板子并不是为了替代显卡而设计的,故折腾用于训练数据实在有点过分了,无限扩张算力对于嵌入式或者边缘计算领域是没有必要的。

从上面的实际模型推理结果来看,香橙派的 AIpro 开发板作为边缘计算领域是非常优秀的选择,值得开发人员试一试,应用在自己的想法实践中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/46575.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

django实现用户的注册、登录、注销功能

创建django项目的步骤:Django项目的创建步骤-CSDN博客 一、前置工作 配置数据库,设置数据库引擎为mysql 1、在settings文件中找到DATABASES, 配置以下内容 DATABASES {"default": {ENGINE: django.db.backends.mysql, # 数据库引擎NAME: dja…

打破平台限制,使智能手机和平板电脑上无缝运行Windows x86/x64架构的软件和游戏的一款安卓应用

大家好,今天给大家分享一款专为Android设备设计的模拟器应用Winlator。其核心功能是能够在基于ARM架构的智能手机和平板电脑上无缝运行Windows x86/x64架构的软件和游戏。 Winlator是一款Android应用程序,它允许用户使用Wine和Box86/Box64在Android设备上…

docker-compose部署redis-exporter

一、安装prometheus 1、安装 version: 3.1services:redis-exporter:image: bitnami/redis-exporter:latestcontainer_name: redis-exporterports:- 9121:9121environment:TZ: Asia/Shanghaicommand:- --redis.addrredis://127.0.0.1:6379# - --redis.passwordlabels:org.labe…

C#学习3-微软C#官方文档Microsoft-dotnet-csharp.pdf

文章目录 1.内插表达式的字段宽度和对齐方式 1.内插表达式的字段宽度和对齐方式 static void Main(string[] args) {var titles new Dictionary<string, string>() {["Doyle ,Arthur"] "Hound of the Basker,The",["Lodon ,Jack"] &quo…

PHP恋爱话术微信小程序系统源码

&#x1f496;恋爱高手的秘密武器&#xff01;恋爱话术微信小程序&#xff0c;让情话信手拈来✨ &#x1f4ad;【开场白&#xff1a;恋爱路上的甜蜜助手】&#x1f4ad; 还在为跟心仪的TA聊天时找不到话题而尴尬&#xff1f;或是担心自己说的每句话都显得那么“直男/女”&…

vi 编辑器快捷生成 main 函数和基本框架

step1: 执行 sudo vi /etc/vim/vimrc &#xff08;修改vimrc需要管理员权限&#xff1a;sudo&#xff09; step2:输入用户密码&#xff0c;回车, 编辑vimrc文件 step3:在尾行输入以下代码&#xff08;可复制&#xff09; map mf i#include<stdio.h><ESC>o#includ…

uniapp 微信小程序根据后端返回的文件链接打开并保存到手机文件夹中【支持doc、docx、txt、xlsx等类型的文件】

项目场景&#xff1a; 我们在使用uniapp官方提供的uni.downloadFile以及uni.saveFile时&#xff0c;会发现这个文件下载的默认保存位置和我们预想的不太一样&#xff0c;容易找不到&#xff0c;而且没有提示&#xff0c;那么我们就需要把文件打开自己保存并且有提示保存到哪个…

探索前沿科技:从迁移学习看人工智能的无限可能性

从迁移学习看人工智能的无限可能性 1 引言1.1 什么是迁移学习1.1.1 迁移学习的定义1.1.2 迁移学习的起源和背景 1.2 迁移学习的重要性1.2.1 解决小数据集问题1.2.2 提高模型训练效率1.2.3 应用于不同领域的广泛性 1.3 迁移学习的前景 2 迁移学习的基本概念2.1 源域和目标域2.1.…

【区块链 + 智慧政务】涉税行政事业性收费“e 链通”项目 | FISCO BCOS应用案例

国内很多城市目前划转至税务部门征收的非税收入项目已达 17 项&#xff0c;其征管方式为行政主管部门核定后交由税务 部门征收。涉税行政事业性收费受限于传统的管理模式&#xff0c;缴费人、业务主管部门、税务部门、财政部门四方处于 相对孤立的状态&#xff0c;信息的传递靠…

无人机之机架类型篇

碳纤维机架 具有低密度、高强度和高刚度的特点&#xff0c;非常适合商业或工业级无人机的设计。碳纤维机架在飞行过程中具有良好的减振效果&#xff0c;使飞行更加稳定&#xff0c;但制作工艺复杂&#xff0c;成本较高。 工程塑料机架 以其轻便、耐冲击和易加工等特点受到一…

【C语言】深入解析选择排序

文章目录 什么是选择排序&#xff1f;选择排序的基本实现代码解释选择排序的优化选择排序的性能分析选择排序的实际应用结论 在C语言编程中&#xff0c;选择排序是一种简单且直观的排序算法。尽管它在处理大型数据集时效率不高&#xff0c;但由于其实现简单&#xff0c;常常用于…

牛客TOP101:反转链表

文章目录 1. 题目描述2. 解题思路3. 代码实现 1. 题目描述 2. 解题思路 简单粗暴的写法&#xff0c;就是从头到尾挨个将所有结点的指向翻转即可。需要注意的是&#xff0c;翻转之后会失去原有指向的结点&#xff0c;所以需要提前保存。   具体做法就是&#xff0c;使用cur标记…

硬件检测工具 | CPU-Z v2.10.0 官方中文绿色版

软件简介 CPU-Z是一款广受欢迎的硬件检测工具&#xff0c;主要用于收集电脑处理器的详细信息。这款软件能够提供关于CPU的详细数据&#xff0c;包括处理器名称、编号、代号、进程和缓存等信息。此外&#xff0c;CPU-Z还能实时监测每个内核的内部频率和内存频率&#xff0c;以及…

如何在项目中打印sql和执行的时间

目标&#xff1a;打印DAO方法中sql和执行的时间 一种方式是去实现Mybatis的拦截器Interceptor &#xff0c;比较麻烦&#xff1b; 这里介绍一种比较简单的实现方式&#xff1b; 1、如何打印sql&#xff1f; 配置文件加这个可以打印出com.zhenhui.ids.busi.watch包下执行的sq…

c++包管理器

conan conan search&#xff0c;查看网络库 conan profile detect&#xff0c;生成缓存信息conan new cmake_exe/cmake_lib&#xff0c;创建cmakelists.txtconan install .&#xff0c;执行Conanfile.txt中的配置&#xff0c;生成相关的bat文件 项目中配置Conanfile.txt(或者…

tessy 集成测试:小白入门指导手册

目录 1,创建集成测试模块且分析源文件 2,设置测试环境 3,TIE界面设置相关函数 4,SCE界面增加用例 5,编辑数据 6,用例所对应的测试函数序列 7,添加 work task 函数 8,为测试场景添加函数 9,为函数赋值 10,编辑时间序列的数值 11,执行用例 12,其他注意事项…

零基础STM32单片机编程入门(十四) DS18B20温度传感器模块实战含源码

文章目录 一.概要二.DS18B20主要性能参数三.DS18B20温度传感器内部框图四.DS18B20模块原理图五.DS18B20模块跟单片机板子接线和通讯时序1.单片机跟DS18B20连接示意图2.单片机跟DS18B20通讯流程与时序3.通讯流程中的9个数据字节内容格式4.温度数据寄存器LSB/MSB格式 六.STM32单片…

【HarmonyOS】鸿蒙中如何获取用户相册图片?photoAccessHelper.PhotoViewPicker

【HarmonyOS】鸿蒙中如何获取用户相册图片&#xff1f;photoAccessHelper.PhotoViewPicker 前言 有同学私聊我说&#xff0c;之前的博客文章提到的没有HarmonyOS白名单帐号&#xff0c;如何在OpenHarmony Gitee开发仓里学习API接口。需要注意一个点&#xff0c;默认看到的文档…

图、图的遍历、最小生成树、最短路径

0、图的概念 **图:**是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G (V&#xff0c; E)&#xff0c;其中&#xff1a; 顶点集合V {x|x属于某个数据对象集}是有穷非空集合&#xff1b;边的集合E {(x,y)|x,y属于V}或者E {|x,y属于V && Path(x, y)}是顶…

浅学三次握手

数据要完成传输&#xff0c;必须要建立连接。由于建立TCP连接的过程需要来回3次&#xff0c;所以&#xff0c;将这个过程形象的叫做三次握手。 结合上面的图来看更清楚。 先说三次握手吧&#xff0c;连接是后续数据传输的基础。就像我们打电话一样&#xff0c;必须保证我和对方…