澎湃算力 玩转AI 华为昇腾AI开发板——香橙派OriengePi AiPro边缘计算案例评测

澎湃算力 玩转AI 华为昇腾AI开发板 香橙派OriengePi AiPro 边缘计算案例评测

人工智能(AI)技术正以前所未有的速度改变着我们的生活、工作乃至整个社会的面貌。作为推动这一变革的关键力量,边缘计算与AI技术的深度融合正成为行业发展的新趋势。正是基于这样的背景,香橙派与华为昇腾携手合作,共同推出了OrangePi AIpro一款专为边缘计算设计的AI开发板,它不仅承载着双方对技术创新的不懈追求,更预示着AI技术普及与应用的新篇章。

OrangePi AIpro的诞生,是香橙派在智能硬件领域深耕细作与华为昇腾在AI技术方面深厚积累的完美结合。香橙派,作为开源硬件领域的佼佼者,一直致力于为开发者提供高性能、易上手的硬件平台;而华为昇腾,作为华为在AI领域的核心品牌,其先进的AI处理器和解决方案在全球范围内享有盛誉。两者的合作,无疑为AI开发者们带来了一款集高性能、灵活性、易用性于一身的优质产品。

本次开箱测评,我有幸成为体验者之一,将探索OrangePi AIpro的每一个细节,从外观设计到内部构造,从硬件配置到软件生态,全方位、多角度地展现这款产品的魅力所在。我相信,通过我的测评,广大读者将能够更加直观地了解OrangePi AIpro的优势与特点,为他们的AI项目选择最合适的硬件平台提供有力参考。
在这里插入图片描述
在这里插入图片描述

OrangePi AIpro 开发板官方网站

http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-AIpro.html

在这里插入图片描述

华为昇腾 AI 技术

华为昇腾 AI 技术路线以CANN作为核心架构基础,CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构,对上支持多种AI框架,对下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。支持的AI框架包括华为全场景AI框架昇思MindSpore,也包括常见的AI开发框架(PyTorch,TensorFlow,Paddlepaddle)等。
官方网址 https://www.hiascend.com/#/
开发文档 https://www.hiascend.com/zh/document
在这里插入图片描述
在这里插入图片描述

1.OriengePi AiPro 开发板开箱

  1. 硬件资源
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    CPU4核64位处理器+ AI处理器(昇腾310B4
    GPU集成图形处理器
    AI算力8-12TOPS算力
    内存LPDDR4X:8GB/16GB(可选),速率:3200Mbps
    存储• SPI FLASH:32MB • SATA/NVME SSD(M.2接口2280) • eMMC插槽:32GB/64GB/128GB/256GB(可选),eMMC5.1 HS400 • TF插槽
    WIFI+蓝牙Wi-Fi 5双频2.4G和5G BT4.2/BLE
    以太网收发器10/100/1000Mbps以太网
    显示• 2xHDMI2.0 Type-A TX 4K@60FPS • 1x2 lane MIPI DSI via FPC connector
    摄像头2x2-lane MIPI CSI camera interface,兼容树莓派摄像头
    USB• USB 3.0 HOST x2 • USB Type-C 3.0 HOST x1 • Micro USB x1 串口打印功能
    音频3.5mm耳机孔音频输入/输出
    按键1x关机键、1xRESET键、2x启动方式拨动键、1x烧录按键
    40PIN40PIN 功能扩展接口,支持以下接口类型: GPIO、UART、I2C、SPI、 I2S、PWM
    风扇风扇接口x1
    预留接口2PIN电池接口
    电源Type-C PD 20V IN ,标准65W
    支持的操作系统Ubuntu、openEuler
    产品尺寸107*68mm
    重量82g
  2. 软件资源
    OrangePi官方提供大量的开发板的资料,主要包括官方工具,用户使用手册,以及官方镜像文件。官方提供的用户使用手册记录比较丰富,从软件安装,环境搭建,到AI案例应用测试。
    在这里插入图片描述
    在这里插入图片描述 同时在昇腾论坛上有大量的教程,例如香橙派AIpro学习资源一站式导航香橙派AIpro学习资源可以去参考学习。 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在操作系统方面,Orange Pi AIpro支持Ubuntu、openEuler操作系统,满足大多数AI算法原型验证、推理应用开发的需求,可广泛适用于AI边缘计算、深度视觉学习及视频流AI分析、视频图像分析、自然语言处理、智能小车、机械臂、人工智能、无人机、云计算、AR/VR、智能安防、智能家居等领域,覆盖 AIoT各个行业。Ubuntu、openEuler操作系统镜像下载地址如下:
    Openeuler镜像
    Ubuntu镜像

在这里插入图片描述

  1. 开发板实物效果展示
    从申请到拿到开发板很快啊,我已经迫不及待的想玩了。打开包装后,首先映入眼帘的是精心排列的配件。除了OrangePi AIpro开发板本体之外,还配备了电源适配器和数据线、一张预装了操作系统的SD卡。这些配件的配备充分考虑了用户在实际使用中的需求,为用户提供了极大的便利。拿到的开发板实物默认跑Openeuler系统的,我立马接上HDMI,电源线,USB线,开玩。
    在这里插入图片描述
    在这里插入图片描述

2.OriengePi AiPro 开发板环境搭建

以Ubuntu 版本镜像进行烧录,以完成下面的评测。(主要是熟悉在Ubuntu系统进行开发,Openeuler版本不怎么熟悉,但是有时间也去体验Openeuler版本的系统进行测试学习)。开发环境搭建主要会使用到下面的东西,基本上都在官方提供的网盘里面,自行下载即可。

  1. 下载官方镜像文件
    在这里插入图片描述
    在这里插入图片描述
    其中ubuntu22.04_minimal是纯命令行的版本,ubuntu22.04_deskto是带桌面的版本。(为了方便使用,下载的是带桌面的版本,从百度网盘里面下载之后,需要解压,系统镜像较大,需要一段时间)。

  2. SD卡烧录镜像
    在烧录SD卡镜像之前,需要将镜像文件下载到SD中,因此需要下载的官方工具中的 BalenaEtcher进行处理。(这里我下载的balenaEtcher-Portable-1.18.4版本,不需要安装,点击打开就可以直接使用)
    在这里插入图片描述在这里插入图片描述
    但是在使用BalenaEtcher烧录镜像过程中,虽然能够烧录完成,但是会出现验证失败,导致烧录镜像,出现问题。可能的原因包括读卡器有问题,或者SD卡有问题,因此我换了卡和读卡器,打算重新下载。当然在搜索解决问题的方法过程中,有人指出BalenaEtcher软件需要以管理员身份运行,但是按照管理员身份运行还是下载失败。经过群友的指点,使用了昇腾开发者套件一键制卡工具,完成了系统镜像烧录。
    在这里插入图片描述

  3. 启动开发板
    开发板支持从 TF 卡、eMMC 和 SSD(支持 NVMe SSD 和 SATA SSD)启动。具体从哪个设备启动是由开发板背面的两个拨码(BOOT1 和 BOOT2)开关来控制的BOOT1 和 BOOT2 两个拨码开关都支持左右两种设置状态,所以总共有 4 种设置状态,开发板目前只使用了其中的三种。开发板BOOT1 和 BOOT2 两个拨码默认都是右边状态,不需要改动。镜像烧录完成后,我们将TF卡重新插回到香橙派AIpro开发板中,开机,启动,然后就是输入密码,默认密码为:Mind@123,进入系统。
    在这里插入图片描述

    在这里插入图片描述

  4. 查看开发板信息
    打开香橙派 AIpro终端,输入以下代码:npu-smi info;

  5. 连接网络
    在这里插入图片描述在这里插入图片描述

  6. 连接串口线,登录开发板

使用串口登陆开发板,一切正常。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. SSH远程登录
    SSH远程远程登陆需要配置一下网络。先扫描无线热点:使用命令扫描 nmcli dev wifi ,这样就可以看到我的无线热点了。
    连接无线热点:使用以下命令连接指定的热点,注意【ap-name】【ap-passwprd】要替换成你自己的无线热点名称和对应的密码。
    sudo nmcli dev wifi connect ap-name password ap-passwprd
    

在这里插入图片描述
在这里插入图片描述
显示连接无线热点成功后,可以查看OrangePi板子的IP地址。
在这里插入图片描述
使用SSH工具登陆即可。
在这里插入图片描述

  1. 简单使用测试
    简单的Linux测试,Git使用,PDF阅读,播放视频没有任何问题。
    在这里插入图片描述
    在这里插入图片描述在这里插入图片描述
    在这里插入图片描述
  2. 简单使用测试总结
    在简单的使用OrangePi AIpro开发板测试之后,其完全可以被视为一个小型电脑。它集成了高性能的处理器、足够的内存和存储空间(通过SD卡或外接硬盘扩展),以及丰富的输入输出接口,这使得它能够处理多种复杂的计算任务和应用场景。

3.OriengePi AiPro 开发板案例测试

  1. 测试部署YOLOv5模型
    YOLOv5 是一个面向实时工业应用而开源的目标检测算法,受到了广泛关注。YOLOv5 的不同变体(如 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 和 YOLOv5n)表示不同大小和复杂性的模型。这些变体在速度和准确度之间提供了不同的权衡,以适应不同的计算能力和实时性需求。下面简要介绍这些变体的区别:
    在这里插入图片描述
    YOLOv5s:这是 YOLOv5 系列中最小的模型。“s” 代表 “small”(小)。该模型在计算资源有限的设备上表现最佳,如移动设备或边缘设备。YOLOv5s 的检测速度最快,但准确度相对较低。
    YOLOv5m:这是 YOLOv5 系列中一个中等大小的模型。“m” 代表 “medium”(中)。YOLOv5m 在速度和准确度之间提供了较好的平衡,适用于具有一定计算能力的设备。
    YOLOv5l:这是 YOLOv5 系列中一个较大的模型。“l” 代表 “large”(大)。YOLOv5l 的准确度相对较高,但检测速度较慢。适用于需要较高准确度,且具有较强计算能力的设备。
    YOLOv5x:这是 YOLOv5 系列中最大的模型。“x” 代表 “extra large”(超大)。YOLOv5x 在准确度方面表现最好,但检测速度最慢。适用于需要极高准确度的任务,且具有强大计算能力(如 GPU)的设备。
    YOLOv5n:这是 YOLOv5 系列中的一个变体,专为 Nano 设备(如 NVIDIA Jetson Nano)进行优化。YOLOv5n 在保持较快速度的同时,提供适用于边缘设备的准确度。
    在这里插入图片描述
    从Yolov5 的网络结构图,可以看出,还是分为Input、Backbone、Neck、Prediction四个部分。
    (1)Input:Mosaic数据增强、自适应锚框计算、自适应图片缩放
    (2)Backbone:Focus结构,CSP结构
    (3)Neck:FPN+PAN结构
    (4)Prediction:GIOU_Loss
    Python是运行YOLOv5的基础条件,开发板的环境中,已经默认安装了Python 3.9,因此无需安装
    从GitHub克隆YOLOv5的官方仓库:
    git clone https://github.com/ultralytics/yolov5.git  
    cd yolov5
    
    安装YOLOv5依赖:
    在YOLOv5仓库的根目录下,使用pip安装requirements.txt中列出的依赖.(第一次按照速度可能比较慢,因此需要等待)
    pip install -r requirements.txt
    
    当然如果上面无法git clone 下来可以直接下载压缩包即可。
    在这里插入图片描述
    为了测试YOLOv5模型的效果,我们将使用预训练模型识别一些图片。
    运行以下命令:
	python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpgpython segment/predict.py --weights yolov5m-seg.pt --data data/images/by.jpgpython segment/predict.py --weights yolov5m-seg.pt --data data/images/hw.jpg

这个里面的yolov5m-seg.pt如果不存在,会自动到github上去下载,但是速度极慢,建议是下载好,然后指定对应路径的pt文件。测试效果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
使用yolo对视频进行实时监测,则需要添加video文件夹,添加视频文件。

使用yolo对视频进行实时监测,需要修改源码detect.py的361行。
修改代码如下

# parser.add_argument("--source", type=str, default=ROOT / "data/images", 	help="file/dir/URL/glob/screen/0(webcam)")parser.add_argument("--source", type=str, default=ROOT / "data/video", help="file/dir/URL/glob/screen/0(webcam)")

运行代码,测试效果如下:

python segment/predict.py --weights ~/Documents/yolov5m-seg.pt --source ~/Downloads/yolo.mp4
python segment/predict.py --weights ~/Documents/yolov5m-seg.pt --source ~/Downloads/foot.mp4

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

澎湃算力 玩转AI 华为昇腾AI开发板YoloV5测试


2. 测试基于Yolov5的车牌识别系统
此是一个基于深度学习的 车牌号检测和识别系统 ,旨在提供一个高效、准确的解决方案,用于识别 中国车牌号 。该项目利用先进的卷积神经网络 (CNN) 技术,实现了从图像中 自动检测 和 识别车牌号 的功能,是智能交通系统中的重要组成部分。
代码地址 https://github.com/we0091234/Chinese_license_plate_detection_recognition

4.OriengePi AiPro 使用体会

自从我开始使用Orange Pi AIpro这款基于昇腾深度研发的AI开发板以来,它给我留下了深刻而积极的印象。作为一款业界领先的AI开发工具,Orange Pi AIpro不仅在技术规格上令人瞩目,更在实际应用中展现了其强大的实力和广泛的适用性。从下面几个角度进行总结:
丰富的接口与扩展性:Orange Pi AIpro提供了多种接口和扩展选项,包括但不限于USB、HDMI、GPIO等,方便用户连接各种传感器、摄像头、显示屏等外设。这种高度的灵活性和可扩展性使得Orange Pi AIpro能够轻松适应不同的应用场景和需求。
应用领域广泛:Orange Pi AIpro的广泛适用性也是其一大亮点。从AI边缘计算到深度视觉学习,从视频图像分析到自然语言处理,再到智能小车、机械臂、无人机等AI应用场景,Orange Pi AIpro都能发挥其独特优势,为各行各业提供强大的技术支持。这种跨领域的适用性使得Orange Pi AIpro成为了我手中不可或缺的AI开发工具。
性能表现:在性能方面,Orange Pi AIpro展现出了令人满意的实力。其强大的处理能力和高效的运算速度,使得AI算法的原型验证和推理应用开发变得轻松愉快。无论是在深度视觉学习、视频流AI分析还是自然语言处理等领域,Orange Pi AIpro都能游刃有余地完成任务,为我的项目开发节省了大量时间和成本。
易用的开发环境与技术支持:为了降低开发门槛,Orange Pi AIpro提供了友好的开发环境和完善的开发工具链。这包括详细的硬件规格书、软件开发包(SDK)、示例代码、教程以及活跃的开发者社区等。这些资源有助于开发者快速上手并高效地完成项目开发。此外,Orange Pi AIpro的技术服务支持也是我非常满意的一点。官方提供了详尽的技术文档和教程,帮助用户快速上手并解决问题。同时,社区内的活跃氛围也让我感受到了来自同行的支持和帮助。在遇到难题时,我总能从社区中找到答案或得到启发。

总结

总的来说,Orange Pi AIpro是一款性能卓越、易于上手、服务完善的AI开发板。它不仅满足了我对AI算法原型验证和推理应用开发的需求,还为我打开了通往AI世界的大门。Orange Pi AIpro社区有不少的大佬,都有GPT大模型部署的案例了,有时间我也一定去玩玩本地部署大模型。我相信在未来的AI项目中,Orange Pi AIpro将继续发挥重要作用,助我实现更多创新想法和应用场景。

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

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

相关文章

数据仓库的一致性维度

一致性维度的定义: 一致性维度是指在数据仓库中,具有相同属性和含义的维度在不同的事实表中保持一致。它确保了通过不同事实表进行查询和分析时,维度数据的一致性和准确性。 一致性维度的作用: 数据一致性:一致性维度…

【git】设置github代理

记录git的一些操作。主要是创建分支和如何配置全局代理、github代理。git 本地创建分支并提交 ChatGPT 在 Git 中创建一个本地分支并提交更改可以通过以下步骤完成: 打开终端:首先,打开你的命令行终端。 切换到你的项目目录:使用 cd 命令切换到包含你项目的目录。 bash…

php反序列化练习题

Demo1 <?php error_reporting(0); //关闭错误报告class happy{ protected $filedemo1.php; public function __construct($file){ $this->file$file; } function __destruct(){ if(!empty($this->file)){if(strchr($this->file,"\\")false &&…

Redis持久化(AOF和RDB)

目录 前言 一.RDB 1.1手动执行 1.2自动执行 二.AOF 2.1重写机制 三.混合持久化 Redis的学习专栏&#xff1a;http://t.csdnimg.cn/a8cvV 前言 持久化&#xff0c;在之前&#xff0c;我们接触这个词汇是在mysql数据库当中的事务四大特性里。 持久性&#xff1a;指一旦事…

Linux网络编程之UDP

文章目录 Linux网络编程之UDP1、端口号2、端口号和进程ID的区别3、重新认识网络通讯过程4、UDP协议的简单认识5、网络字节序6、socket编程接口6.1、socket常见接口6.2、sockaddr通用地址结构 7、简单的UDP网络程序7.1、服务器响应程序7.2、服务器执行命令行7.3、服务器英语单词…

vue中v-if和v-for

vue中v-if和v-for Vue 官方建议不要在同一个元素上同时使用 v-if 和 v-for 指令&#xff0c;主要有以下几个原因&#xff1a; 性能问题&#xff1a; 当 v-if 和 v-for 一起使用时&#xff0c;Vue 在每次渲染时都需要先执行循环&#xff0c;然后再对每个元素进行条件判断。这可能…

React antd form表单未保存跳转页面提示

需求是&#xff1a; 表单编辑后没保存&#xff0c;跳转其他页面需要提示未保存&#xff0c;保存就继续form的submit&#xff0c;反之就是关闭弹窗&#xff0c;再切换菜单正常跳转路由。 关键代码如下&#xff1a; const [initialFormValues, setInitialFormValues] useState…

vue学习笔记(十)——Vuex(状态管理,组件间共享数据)

1. vuex基础-介绍 1.1 为什么会有Vuex ? 在现代 Web 开发复杂多变的需求驱动之下&#xff0c;组件化开发已然成为了事实上的标准。然而大多数场景下的组件都并不是独立存在的&#xff0c;而是相互协作共同构成了一个复杂的业务功能。 组件间的通信成为了必不可少的开发需求。…

《Linux运维总结:基于ARM64架构CPU使用docker-compose一键离线部署单机版tendis2.4.2》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面对不同的客户部署业务系统&#xff0…

Apache Kylin

Apache Kylin 是一个开源的分布式分析引擎&#xff0c;提供 SQL 查询接口及多维分析&#xff08;OLAP&#xff09;能力以支持超大规模数据集。它能在亚秒级的时间内提供 PB 级数据的查询能力&#xff0c;非常适合大数据分析和报表系统。 ### 入门指南 #### 1. 环境准备 首先…

数学建模——快递包裹装箱优化问题(2023年长三角数学建模A题问题一、问题二)

快递包裹装箱优化问题 2022 年&#xff0c;中国一年的包 裹已经超过1000 亿件&#xff0c;占据了全球快递事务量的一半以上。近几年&#xff0c;中国每年新增包裹数量相当于美国整个国家一年的包裹数量&#xff0c;十年前中国还是物流成本最昂贵的国家&#xff0c;当前中国已经…

LeetCode题练习与总结:两数之和Ⅱ-输入有序数组--167

一、题目描述 给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index…

【IC前端虚拟项目】sanity_case的编写与通包测试

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 在花了大力气完成reference model之后,整个验证环境的搭建就完成了,再多看一下这个结构然后就可以进行sanity_case和通包测试: 关于sanity_case和通包测试我在很多篇文章中说过好多次了在这里就不赘述…

java 中的虚拟机的介绍

Java 虚拟机&#xff08;Java Virtual Machine&#xff0c;简称 JVM&#xff09;是运行 Java 应用程序的核心组件。它提供了一个平台无关的执行环境&#xff0c;使 Java 程序可以在各种硬件和操作系统上运行。以下是 JVM 的详细介绍&#xff1a; 1. JVM 的基本概念 JVM 是一种…

el-menu弹出菜单样式不生效

1. 使用 ruoyi 项目时出现的问题。 <template><el-menu:default-active"activeMenu":collapse"false":unique-opened"true"class"container":collapse-transition"true"mode"horizontal"><sideba…

华为od 100问 持续分享6-入职体检

我是一名软件开发培训机构老师&#xff0c;我的学生已经有上百人通过了华为OD机试&#xff0c;学生们每次考完试&#xff0c;会把题目拿出来一起交流分享。 重要&#xff1a;2024年5月份开始&#xff0c;考的都是OD统一考试&#xff08;D卷&#xff09;&#xff0c;题库已经整…

学习opencv

初步学习可以参考&#xff1a; OpenCV学习之路&#xff08;附加资料分享&#xff09;_opencv资料-CSDN博客 【OpenCV】OpenCV常用函数合集【持续更新】_opencv函数手册-CSDN博客 整体框架可以参考&#xff1a; OpenCV学习指南&#xff1a;从零基础到全面掌握&#xff08;零…

Linux驱动开发-05APP和驱动的交互方式

一、传输数据 APP和驱动: copy_to_usercopy_from_user驱动和硬件: 各个子系统的函数通过ioremap映射寄存器地址后,直接访问寄存器二、APP使用驱动的四种方式 驱动程序:提供能力,不提供策略 非阻塞(查询)(应用程序访问底层驱动时(read、write时),驱动没有数据不等待,…

基于 CNN(二维卷积Conv2D)+LSTM 实现股票多变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

PHP 快速入门:构建动态网站的基础

引言 PHP&#xff0c;全称 Hypertext Preprocessor&#xff0c;是一种广泛用于创建动态网站的服务器端脚本语言。它易于学习&#xff0c;功能强大&#xff0c;能够与多种数据库系统&#xff08;如 MySQL&#xff09;集成&#xff0c;是 Web 开发者的常用工具之一。本文将带你快…