【香橙派】Orange pi AIpro开发板评测,看小白如何从0到1快速入门,以及亲测手写数字识别模型训练与推理

news2024/11/16 7:48:53

作为业界首款基于昇腾深度研发的AI开发板,Orange Pi AIpro无论在外观上、性能上还是技术服务支持上都非常优秀。
接口丰富,扩展能力强。支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求。

在这里插入图片描述

目录

  • 开发板介绍
    • 亮点
    • 顶层视图
    • 底层试图
  • 开发板使用
    • 准备配件
    • 相关资料
    • 启动设置
    • 烧录镜像
    • 上电
    • 连接wifi
    • 查看IP
    • SSH连接
    • 可视化界面
  • 体验AI应用
    • 登录juypter lab
    • 运行文字识别样例
  • 手写数字识别模型训练&推理
    • 样例介绍
    • 样例下载
    • 执行准备
    • 模型训练
    • 在线推理
  • 测评感受
    • 使用香橙派开发板体会
    • AI应用数据训练体会
  • 总结

开发板介绍

亮点

作为业界首款基于昇腾深度研发的AI开发板,Orange Pi AIpro无论在外观上、性能上还是技术服务支持上都非常优秀。采用昇腾AI技术路线,集成图形处理器,拥有8GB/16GB LPDDR4X,可以外接32GB/64GB/128GB/256GB eMMC模块,支持双4K高清输出,8/20 TOPS AI算力。

丰富的接口更是赋予了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屏等,预留电池接口。

在操作系统方面,Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。

顶层视图

在这里插入图片描述

底层试图

在这里插入图片描述

开发板使用

准备配件

对于首次使用的小白来说,一开始可能没有那么多配件,TF卡、TF读卡器、散热器、HDMI显示器连接线、串口测试线等。

相关资料

博主是一名硬件小白,虽然有接触过几次,但都是一些皮毛。
非常感谢香橙派平台提供的这次机会,并且用户手册讲解的非常详细,帮了很大的忙。
开发板资料下载页面的链接如下所示:
http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html
在这里插入图片描述

启动设置

TF卡启动设置,两个按钮都拨到右边。
开发板背面也有指示,非常方便在这里插入图片描述

烧录镜像

博主是在windows操作系统环境下进行的操作

1、电脑读卡
把 TF 卡插入读卡器,再把读卡器插入电脑

2、balenaEtcher烧录
balenaEtcher:https://www.balena.io/etcher/在这里插入图片描述
在这里插入图片描述
烧录中(第一次接触难免有些小激动,很快就可以开启我的硬件之旅),烧录过程大概二十分钟左右
在这里插入图片描述
烧录镜像校验和验证,验证大概也是十来分钟(可跳过此步骤)
在这里插入图片描述

3、推荐烧录工具
推荐一个比较好用的烧录工具,无需验证,如果上一步骤无法烧录或者验证成功,可以使用下面这个。
地址:https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Atlas%20200I%20DK%20A2/DevKit/tools/latest/Ascend-devkit-imager_latest_win-x86_64.exe在这里插入图片描述

上电

完成上面烧录步骤,就可以上电,开机启动。
由于最近回老家了,还好镇上都有读卡器、HDMI数据线等配件。
没有条件就创造条件,显示器就用电视机凑合着用。
果然没让我失望,顺利显示出了OrangePI系统界面,这入门体验棒极了。

这个开发板可以理解为一个主机,就像一个台式电脑主机一样,也可以接鼠标、键盘和显示器。
TF卡就是一个硬盘,可以在上面安装操作系统。在这里插入图片描述
在这里插入图片描述在这里插入图片描述

连接wifi

成功启动OrangePI后,默认是没有联网的,支持wifi无线联网。在这里插入图片描述

查看IP

完成wifi联网后,即可查看到当前开发板所在局域网IP,目的是通过XShell进行SSH远程连接登录。
打开Terminal输入命令:ifconfig
找到192.168开头就是了。在这里插入图片描述

SSH连接

  • 下载远程工具Xshell
    地址:https://www.xshell.com/zh/free-for-home-school/
    这个下载不用填任何邮箱地址,直接就可以下载
    在这里插入图片描述
  • 登录
    直接新建会话进行登录,输入下面默认账号和密码
    账号:HwHiAiUser
    密码:Mind@123
    在这里插入图片描述

可视化界面

下载Windows系统Nomachine包:https://downloads.nomachine.com/
在这里插入图片描述
Windows系统下Nomachine包,并上传到开发板的用户目录下
在这里插入图片描述

ls -lrt
在这里插入图片描述

  • 安装

sudo dpkg -i nomachine_8.11.3_3_arm64.deb
输入登录密码,回车即可开始安装

在这里插入图片描述
安装完成后,NoMachine软件回自动检测到对应远程
在这里插入图片描述
首次点击连接可能会失败,会提示输入账号和密码,之后再点击就可以远程到图形化界面了。
这对于小白来说就非常有帮助。在这里插入图片描述

体验AI应用

具体样例说明可点击跳转官方查看用户手册,非常详细,博主这里不进行详细运行样例说明:
http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-AIpro.html

登录juypter lab

1)cd samples
2)ls 01-SSD 02-CNNCTC 03-ResNet50 04-HDR 05-CycleGAN 06-Shufflenet 07-FCN08-Pix2Pix start_notebook.sh
3)./start_notebook.sh在这里插入图片描述

  • 访问
    在OrangePI打开浏览器,输入下面地址即可访问到juypter lab
    http://127.0.0.1:8888/lab?token=93d9715b3ab3ffed960cb877757a1df41bd12b6c0bbfc9fe

在这里插入图片描述

运行文字识别样例

点击双箭头运行
在这里插入图片描述
推理完成后,输出结果。
在准确识别出来后,关注另外一个重要信息是时间,infer use time:9.66787338256836ms(推理时间9毫秒,速度非常快,可以说是一瞬间)
在这里插入图片描述

手写数字识别模型训练&推理

源码地址:https://gitee.com/ascend/EdgeAndRobotics/tree/master/Samples/HandWritingTrainAndInfer

样例介绍

本样例使用MNIST数据集实现了手写数字识别体的训练,onnx推理,om推理全过程。
需要注意,样例上面的文件夹名称和现在名称不同,需要改为当前名称HandWritingTrainAndInfer

样例下载

博主这里直接使用git方式下载,网速好的可以用次方法简单,网速慢得建议下载zip到开发板中步骤会复杂点

# 登录开发板,HwHiAiUser用户命令行中执行以下命令下载源码仓。    
cd ${HOME}     
git clone https://gitee.com/ascend/EdgeAndRobotics.git
# 切换到样例目录
cd EdgeAndRobotics/Samples/HandWritingTrainAndInfer

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

执行准备

  • 安装PyTorch以及torch_npu插件
# 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
  • 安装其他依赖库
    如果还有其他依赖库需要安装,那么可以在requirements.txt文本里添加
pip3 install -r requirements.txt  # PyTorch2.1版本

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

模型训练

1、以HwHiAiUser用户登录开发板,切换到样例目录下

# 切换到样例目录
cd EdgeAndRobotics/Samples/HandWritingTrainAndInfer

2、设置环境变量减小算子编译内存占用

export TE_PARALLEL_COMPILER=1
export MAX_COMPILE_CORE_NUMBER=1

3、运行训练脚本

python3 main.py

成功运行训练脚本后,会自动下载Mnist数据集,数据集目录结构如下(如果用户网络状况不佳可以自行下载数据集放到指定目录dataset下):
在这里插入图片描述
在这里插入图片描述
完成训练后,会生成一个文件(整体训练速度还是挺快的,这个让我对香橙派开发板比较惊喜的地方,毕竟训练才是AI的核心)
在这里插入图片描述
在这里插入图片描述

在线推理

1、以HwHiAiUser用户登录开发板,切换到当前样例目录

# 切换到样例目录
cd EdgeAndRobotics/Samples/HandWritingTrainAndInfer

2、执行以下命令,将训练生成的mnist.pt转换mnist.onnx模型

python3 export.py

mnist.onnx模型生成在当前路径下在这里插入图片描述
在这里插入图片描述
3、执行以下命令,获取在线推理的测试图片

cd data
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/wanzutao/mnist/8.jpg

在这里插入图片描述
4、执行在线推理

cd ../onnxInfer/
python3 infer.py

执行成功后,在屏幕上的关键提示信息示例如下:

[image_path:data/8.jpg] [inferssession_time:1349 pictures/s] [output:8]

在这里插入图片描述
5、手写测试
博主这里自己手写一个数字。(重复3到4步骤,回到data目录,在线下载图片,博主这里通过访问自己服务器的图片进行下载测试)
可能是训练数据量不够,有些手写的数字并不能识别出来,然后用下面方式处理的数字,7识别成了2,数字5能够准确识别在这里插入图片描述
在这里插入图片描述

测评感受

使用香橙派开发板体会

博主算是一名硬件小白,香橙派开发给我最大的感受就是速度快,性能佳,整个过程体验非常流畅。
速度快体现在,博主还没反应过来显示器就已经显示OrangePI登录界面
性能佳体现在,运行的AI应用样例运行出结果在毫秒级,博主还在想运行好没,其实已经显示出结果
开发板工艺设计非常小巧精美,散热效果不错。
速度和性能这两方面在数据训练、部署、推理等体现非常的好,对于博主首次接触可以说是非常惊喜的一次测评体验。
期待官方开发板越来越强大,博主也趁这次机会入门,以及后续实现语音交互等功能

AI应用数据训练体会

通过香橙派开发板小体量设备就能进行数据训练、推理,这确实太赞了。
这个对以后垂直领域或者自己专项业务就能够发挥作用,实现数据训练本地化离线化,确保了训练数据的安全性。

总结

Orange Pi AI Pro 开发板是香橙派联合华为精心打造的高性能 AI 开发板,值得拥有。
整体上,开发板运行非常平稳,性能和速度绝佳,散热效果也不错,风扇几乎没什么噪音。
在样例的图片识别文字里,推理时间仅为9毫秒,速度非常快,可以说是一瞬间,性能和速度体现的淋漓尽致。

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

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

相关文章

APP专项测试之网络测试

背景 当前app网络环境比较复杂,越来越多的公共wifi,网络制式有2G、3G、4G网络,会对用户使用app造成一定影响;当前app使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要; 网络正…

SpringBootWeb 篇-入门了解 Swagger 的具体使用

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Swagger 介绍 1.1 Swagger 和 Yapi 的使用场景 2.0 Swagger 的使用方式 2.1 导入 knife4j 的 maven 坐标 2.2 在配置类中加入 knife4j 相关配置 2.3 设置静态资源…

「案例分析」不同发展阶段非人力资源部门的人力资源管理职能

引言: 企业人力资源管理应该是公司全体管理人员都应该承担的责任,是所有管理者日常工作的重要组成成分,非人力资源部门经理,作为公司的重要管理者,也应该参与公司人力资源管理活动,协调配合人力资源部门做…

2024年7月好用的图纸加密软件丨图纸加密软件分享

图纸加密是企业保护技术资产和知识产权的关键措施之一。随着信息技术的飞速发展,图纸作为企业核心竞争力的表现形式,其安全性越来越受到重视。图纸一旦泄露,不仅可能导致企业产品被模仿,市场份额受损,还可能引发法律风…

AI大模型推理过程与优化技术深度剖析

在人工智能的浩瀚星空中,AI大模型以其卓越的性能和广泛的应用前景,成为了推动技术进步的璀璨明星。本文旨在深入探讨AI大模型的推理过程及其背后的优化技术,为理解这一复杂而精妙的技术体系提供一个清晰的视角。 一、AI大模型的推理过程揭秘 …

昇思25天学习打卡营第二十天|基于MobileNetv2的垃圾分类

背景 提供免费算力支持,有交流群有值班教师答疑的华为昇思训练营进入第二十天了。 今天是第二十天,从第十天开始,进入了应用实战阶段,前九天都是基础入门阶段,具体的学习内容可以看链接 基础学习部分 昇思25天学习打卡…

Avalonia创建导航菜单

1. 简介 已开源,后续还会继续更新学习到的内容,欢迎Star,GitHub地址 开发Avalonia需要的一些资料,我已经分享到另一篇文章 示意图 涉及到内容: MVVM路由模板 开发: 开发工具:Rider&#x…

Kithara与OpenCV (一)

Kithara使用 OpenCV 库 目录 Kithara使用 OpenCV 库简介需求和支持的环境构建 OpenCV 库使用 CMake 进行配置以与 Kithara 一起工作 使用 OpenCV 库设置项目运行 OpenCV 代码图像采集和 OpenCV自动并行化限制和局限性1.系统建议2.实时限制3.不支持的功能和缺失的功能4.显示 Ope…

Mac数据恢复篇:Mac照片恢复工具

由于更新错误、意外删除或数据覆盖,照片可能会从 Mac 上消失。当您忘记在Mac上启用iCloud时,您也可能会丢失它们。 幸运的是,有多种方法可以从Mac恢复丢失或删除的照片:使用备份文件夹或专业的Mac照片恢复软件。但是,如…

暑期备考2024上海初中生古诗文大会:单选题真题和独家解析

现在距离2024年初中生古诗文大会初选还有不到4个月(11月3日正式开赛),我们继续来看10道选择题真题和详细解析。为帮助孩子自测和练习,题目的答案和解析统一附后。 本专题持续分享。 一、上海初中古诗文大会历年真题精选(参考答案…

VS Code 代码格式化插件,代码美观的插件

背景: 前端代码格式化插件有很多,不同的编辑器和集成开发环境(IDE)通常会有不同的插件。以下是一些常用的前端代码格式化工具及其特点: 代码更加美观,可以使用工具来实现。常用的工具有Pretter、vuter、ES…

gitlab 搭建使用

1. 硬件要求 ##CPU 4 核心500用户 8 核心1000用户 ##内存 4 G内存500用户 8 G内存1000用户 2. 下载 链接 3. 安装依赖 yum -y install curl openssh-server postfix wget 4. 安装gitlab组件 yum -y localinstall gitlab-ce-15.9.3-ce.0.el7.x86_64.rpm 5. 修改配置文…

低成本,高性能:10 万美元实现Llama2-7B级性能

高性能的语言模型如Llama2-7B已经成为推动自然语言处理技术进步的重要力量。然而,这些模型往往需要昂贵的计算资源和庞大的研发投入,使得许多研究团队和小型企业望而却步。现在,JetMoE架构以其创新的设计和优化策略,不仅成功地在只…

算法复杂度<数据结构 C版>

什么是算法复杂度? 简单来说算法复杂度是用来衡量一个算法的优劣的,一个程序在运行时,对运行时间和运行空间有要求,即时间复杂度和空间复杂度。 目录 什么是算法复杂度? 大O的渐近表达式 时间复杂度示例 空间复杂度…

探索数据结构与算法的奇妙世界 —— Github开源项目推荐《Hello 算法》

在浩瀚的编程与计算机科学领域中,数据结构与算法无疑是每位开发者攀登技术高峰的必经之路。然而,对于初学者而言,这条路往往布满了荆棘与挑战。幸运的是,今天我要向大家推荐一个令人振奋的项目——《Hello Algo》,它正…

VSCode remote无法链接

报错信息如下: 远程主机密钥变化导致验证失败 无法连接 解决措施: 删除C:\Users\username.ssh\known_hosts中旧的主机密钥条目,重新连接

使用java实现快速排序算法的性能测试

Date: 2024.07.12 16:32:32 author: lijianzhan **简述:**在我的上一篇文章中简单的提到过算法,关于算法,现在再次的说明一下,算法是指在解决问题时,按照某种机械步骤一定可以得到问题结果的处理过程,一个算法的质量优…

mindspore打卡第24天之LSTM+CRF序列标注

LSTMCRF序列标注 概述 序列标注指给定输入序列,给序列中每个Token进行标注标签的过程。序列标注问题通常用于从文本中进行信息抽取,包括分词(Word Segmentation)、词性标注(Position Tagging)、命名实体识别(Named Entity Recognition, NER)等。以命名实…

力扣 爬楼梯

动态规划算法基础篇。 class Solution {public int climbStairs(int n) {int[] f new int[n 1];f[0] 1;f[1] 1;//当爬到n阶楼梯时&#xff0c;可知是由n-1阶或n-2阶楼梯而来for(int i 2; i < n; i) {f[i] f[i - 1] f[i - 2];//后面的每一阶种数由前两个状态得到}ret…

浪涌测试标准

IEC定义的浪涌标准主要包括以下几个方面&#xff1a;‌ 电源浪涌测试标准&#xff1a;‌ IEC 61000-4-11规定了如何进行电源电压变化测试&#xff0c;‌以评估设备在电源电压变动时的抗干扰性能。‌IEC 61000-4-13规定了如何进行电源瞬态间隔测试&#xff0c;‌以评估设备在电源…