搭载昇腾310NPU的Orange Pi AIpro开箱体验以及深度学习样例测试

Orange Pi AIpro开箱体验以及样例测试

随着人工智能和物联网技术的快速发展,单板计算机(Single Board Computer, SBC)在创客和开发者社区中越来越受到欢迎。我最近入手了一款高性能的单板计算机——Orange Pi AIpro。

在入手此款AI开发板之前,作为一个热爱计算机技术的大学生,本人经常参加各种竞赛,正是因为这样我在前面的大学三年中使用过主控为Jetson Nano B01的ROS机器人,得益于英伟达的cuda,英伟达几乎拥有深度学习框架的原生支持,这就大大降低了,我们普通开发者的开发难度,但是高昂的价格又令人难以接受,直到后来拿到了地平线公司的旭日派X3板卡,价格很便宜但是算力是Jetson Nano的数倍,虽然不支持原生的pytorch,tensorflow等流行模型,好在可以使用模型转换工具转换成可以使用的模型,随着后来的使用,我也逐渐发现了旭日派X3的不足,首先就是并不是所有的深度学习模型都可以跑在旭日派X3的BPU上,例如,我在使用yolov5目标检测模型时,只有yolov5-2.0版本的全部算子可以运行在旭日派X3的BPU上,这使得新版本的网络中无法将所有算子运行在BPU上,这就使得运行时帧率大大降低,第二个问题就是地平线适配的模型并不是很多,样例很少。

最近,我有幸受到了香橙派官方的邀请,评测他们最新推出的AI开发板Orange Pi AIpro。据了解这款设备是Orange Pi与华为合作推出的,内置了华为自研的昇腾310 NPU(Neural Processing Unit),使用了华为自研达芬奇架构,相对其他国产产品,我个人认为华为的昇腾社区,资源更为丰富,并且也有很多课程,这可以大大降低学习的难度。

本文旨在为零基础用户提供一个详细的开箱体验和Orange Pi AIpro的产品介绍,帮助大家快速掌握Orange Pi AIpro的基本使用方法,以及了解昇腾强大的生态。我还会具体测试几个简单的AI样例,分享自己的探索过程和心得体会。希望通过这个教程,能让大家更好地了解这款强大的AI开发板。

产品介绍

话不多说先放两张Orange Pi AIpro的全身照,可以看到板子还是很漂亮的。

9ce018ff4332172dc85b71424012818

3462a3f1a109bd7765c50500f9f8409

Orange Pi AIpro主要参数配置

  1. 处理器:配备华为昇腾310 NPU,支持高效的人工智能计算,适用于深度学习和推理任务。
  2. 内存:8GB LPDDR4内存,确保多任务处理和数据密集型应用的流畅运行。
  3. 存储:提供eMMC存储接口和MicroSD卡插槽,方便用户扩展存储空间。
  4. 接口:丰富的接口配置,包括USB 3.0、USB 2.0、HDMI、以太网口、音频输出、GPIO等,满足多种外设连接需求。
  5. 网络:内置千兆以太网接口和Wi-Fi模块,支持高速网络连接和无线传输。
  6. 操作系统:兼容多种操作系统,包括Ubuntu、Debian和Android,提供广泛的软件支持和开发环境。

Orange Pi AIpro的AI处理器

昇腾310 NPU简介

Atlas 200计算模块作为开发板的CPU与NPU。模块集成了Ascend 310处理器,可以高效地在端侧部署典型的深度学习推理应用以下是昇腾310的主要特点:

  1. 高效能低功耗: 昇腾310采用7nm工艺制造,拥有高效的能耗比,能够在提供强大计算能力的同时保持较低的功耗,非常适合嵌入式和边缘计算应用。
  2. 强大计算能力: 昇腾310能够提供多达16 TOPS(Tera Operations Per Second)的整数计算能力和8 TFLOPS(Tera Floating Point Operations Per Second)的浮点计算能力,能够高效处理复杂的深度学习模型。
  3. 丰富的接口支持: 昇腾310支持多种接口,包括PCIe、I2C、UART等,方便与各种外设进行连接,适用于广泛的应用场景。
  4. 全场景AI支持: 昇腾310支持包括图像处理、语音识别、自然语言处理等多种AI任务,提供灵活的AI推理能力。
  5. 优秀的开发工具: 昇腾310配备了丰富的开发工具和软件生态,包括华为的MindSpore、TensorFlow、PyTorch等主流深度学习框架的支持,使开发者能够快速上手并进行模型训练和部署。

样例测试

准备工作
  1. 查看开发板IP地址

命令行输入

ifconfig

image-20240523124949299

  1. 开启notebooks服务器

首先进入这个目录

 cd ~/samples/notebooks

开启notebook服务器

./start_notebook.sh 192.168.31.186 #IP是开发板的IP

image-20240523165928546

看到这个就说明服务器启动成功,接下来把复制的内容粘贴到我们电脑的浏览器,注意电脑要与开发板在一个局域网下

输入后我们可以在我们电脑浏览器右边看到很多例程

image-20240523170248724

在这里插入图片描述

接下来我们来一个一个运行试试吧

1.YoloV5

首先是yolov5的例程

在这里插入图片描述

我们可以看到例程提供了三种模式分别是照片检测,视频检测和相机实时检测

图片检测

也没有什么图片就把手边的饮料瓶上传到了开发板

先修改一下模式和图片路径

image-20240523170819674

可以看到正确识别出来了,不过旁边的饮料瓶没有识别出来,可能是训练集中没有

image-20240523170958912

视频检测

接下来我们来试一下视频检测,我从网上随便找了一个电影的片段

首先还是修改检测模式和视频文件路径

image-20240523171132123

我们来看一下效果,也是ok的帧率非常高,不愧是8TOPS算力的板子

image-20240523171205954

我把检测效果的视频也同时上传到了B站链接

摄像头实时检测

找一个USB摄像头插入OrangePi AIpro的接口上

image-20240523172542082

修改模式

image-20240523172615980

开始检测,可以明显的感觉出来帧率比Jetson nano B01高的不是一点点

image-20240523172739072

2. OCR文字识别

可以看到正确识别了图片中的文字

image-20240523173020401

3. ResNet50分类

image-20240523173200485

4. image_HDR_enhance图像增强

功能介绍:使用模型对曝光不足的输入图片进行HDR效果增强。
样例输入:png图像。
样例输出:增强后png图像。

image-20240523173509237

可以看出原来灰暗的图像经过处理后变得明亮清晰

5. cartoonGAN图片卡通化

ArtGAN是一种基于生成对抗网络(GAN)的图像生成模型,旨在将现实世界的图像转换为卡通风格。该模型由生成器和判别器组成,通过对抗训练,使生成器能够生成逼真的卡通图像,而判别器则不断提高其区分真实卡通图像和生成图像的能力。ArtGAN利用卷积神经网络(CNN)来捕捉图像的细节和风格信息,通过不断迭代训练,生成器学会捕捉和重现卡通风格的特征,从而实现高质量的图像风格迁移。

功能:使用cartoonGAN模型对输入图片进行卡通化处理。
样例输入:原始图片jpg文件。
样例输出:卡通图象。

这个应该是我觉得最有意思的网络了,话不多说多上几个图

原始图像

image-20240523173755910

处理后的图像

image-20240523173820074

想到手机中还有老君山的照片,我这就来转化一下

这是原始图片

test

卡通化后

原图

image-20240523175648350

卡通化后

image-20240523175703708

原图

image-20240523175744036

卡通化后

image-20240523175802201

原图

image-20240523175828452

卡通化后

image-20240523175845473

是不是

6.蛋白质分类

香橙派也可以为专业领域赋能

功能:对蛋白质图像进行自动化分类评估
样例输入:未标注的蛋白质荧光显微图片
样例输出:已经标注分类的蛋白质图谱

image-20240523180204931

7.Unet++分割

功能:对图像中的细胞核进行分割
样例输入:未标注的生物细胞图像
样例输出:已经分割的细胞核图像

image-20240523180440049

8.PortraitNet人像分割和背景替换

功能:将人物和背景拼接

样例输入人物和背景

样例输出拼接后的图片

背景

image-20240523181409909

人物

image-20240523181434206

拼接后

image-20240523181636964

8.WeNet语音识别

功能将语音转换成文字

样例输入:一段语音

样例输出:一段文字

image-20240523181953753

总结

使用昇腾开发板后,我最大的感受就是昇腾社区的生态建设做得非常好。社区里有大量的AI开发样例,这对开发者来说非常友好。特别是像我这样的普通大学生,在参加比赛时,这些样例降低了我们的开发难度,提供了很大的帮助。无论是图像识别、目标检测,还是自然语言处理,都能找到相应的参考代码和详细的教程,让我们能够更快速地上手开发。

昇腾NPU的算力高达8 TOPS(每秒万亿次运算),在处理复杂的AI任务时表现得非常出色。这个高性能的硬件让我们在实际应用中体验到了显著的性能提升。以往在其他开发板上运行的深度学习模型,到了昇腾开发板上都能更高效地完成,从而节省了大量的时间和资源。

此外,昇腾社区还提供了丰富的技术文档和交流平台,开发者可以在这里找到详细的开发指南、API文档,以及解决问题的技术支持。这些资源极大地降低了学习和使用昇腾开发板的门槛,使得即便是初学者也能在短时间内掌握基本的开发技巧。

在实际使用中,我发现昇腾开发板在处理图像分类、目标检测等任务时,效率非常高。例如,在运行YOLOv5目标检测模型时,昇腾NPU可以实现实时检测,整个过程流畅无卡顿。。

总体来说,昇腾在国产生态中确实堪称佼佼者。它不仅在硬件性能上表现出色,在软件生态和社区建设上也做得非常到位。这使得我们这些开发者能够更加专注于创新和应用开发,而不是在基础设施上浪费时间和精力。对于那些想要快速入门AI开发的用户来说,昇腾开发板无疑是一个非常好的选择。希望未来能看到更多这样的国产高性能AI硬件,助力更多开发者实现他们的创意和梦想。

建议

发现昇腾开发板在处理图像分类、目标检测等任务时,效率非常高。例如,在运行YOLOv5目标检测模型时,昇腾NPU可以实现实时检测,整个过程流畅无卡顿。。

总体来说,昇腾在国产生态中确实堪称佼佼者。它不仅在硬件性能上表现出色,在软件生态和社区建设上也做得非常到位。这使得我们这些开发者能够更加专注于创新和应用开发,而不是在基础设施上浪费时间和精力。对于那些想要快速入门AI开发的用户来说,昇腾开发板无疑是一个非常好的选择。希望未来能看到更多这样的国产高性能AI硬件,助力更多开发者实现他们的创意和梦想。

建议

建议昇腾社区增加更多ROS的例程和教程,感觉这点没有地平线做的好,地平线定制的TROS在ROS中直接集成了AI开发接口,使得我们ROS开发者可以更快的上手

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【三维重建】ePnP

PnP问题应用与一下场景: 已知三维点和对应二维点以及相机相机内参数,可以获取相机外参。 我们介绍其中的一种算法:ePnP 算法流程 1、ePnP算法首先在世界坐标系内寻找4个控制点,记作 C 1 w , C 2 w , C 3 w , C 4 w C_1^w,C_2^w,…

Laravel和ThinkPHP框架比较

一、开发体验与易用性比较 1. 代码可读性: - Laravel以其优雅的语法和良好的代码结构著称,使得代码更加易读易懂。 - 相比之下,ThinkPHP的代码可读性较为一般,在一些复杂业务场景下,可能会稍显混乱。 让您能够一站式…

每天写两道(一):无重复字符的最长子串、反转链表

3. 无重复字符的最长子串 3. 无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串的长度。 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。(1)滑动窗口 双…

Web安全:文件上传漏洞详解,文件上传漏洞原理、绕过方式和防御方案。

「作者简介」:2022年北京冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础对安全知识体系进行总结与归纳,著作适用于快速入门的 《网络安全自学教程》,内容涵盖系统安全、信息收集等…

搭建服务器的主流中间件有哪些?如何在外网访问内网的服务?

计算机业内人士对于搭建服务器的中间件并不陌生,apache、tomcat、IIS、nginx 都是比较常用的搭建服务器的中间件,它们之间还是有一些区别差异的。今天就说说这些中间件之间有哪些区别,以及如何利用快解析实现内网主机应用让外网访问。 首先说…

c++ 将指针转换为 void* 后,转换为怎么判断原指针类型?

当将指针转换为void后,擦除了指针所指向对象的类型信息,因此无法通过void指针来判断原始指针的类型。我这里有一套编程入门教程,不仅包含了详细的视频讲解,项目实战。如果你渴望学习编程,不妨点个关注,给个…

【状态机动态规划】3129. 找出所有稳定的二进制数组 I

本文涉及知识点 动态规划汇总 LeetCode 3129. 找出所有稳定的二进制数组 I 给你 3 个正整数 zero ,one 和 limit 。 一个 二进制数组 arr 如果满足以下条件,那么我们称它是 稳定的 : 0 在 arr 中出现次数 恰好 为 zero 。 1 在 arr 中出现…

OpenWrt 23.05 安装之后默认空间小 磁盘扩容 教程 软路由实测 系列六

1 安装fdisk opkg update opkg install fdisk #查看磁盘 rootOpenWrt:~# fdisk -l GPT PMBR size mismatch (246303 ! 250069679) will be corrected by write. The backup GPT table is not on the end of the device. Disk /dev/sda: 119.24 GiB, 128035676160 bytes, 25006…

【leetcode 141】环形链表——快慢指针(龟兔赛跑)

给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(…

如何使用Spring Cache优化后端接口?

Spring Cache是Spring框架提供的一种缓存抽象,它可以很方便地集成到应用程序中,用于提高接口的性能和响应速度。使用Spring Cache可以避免重复执行耗时的方法,并且还可以提供一个统一的缓存管理机制,简化缓存的配置和管理。 本文将详细介绍如何使用Spring Cache来优化接口,…

【Java】JavaSE概述

1、简介 Java SE(Java Platform, Standard Edition)是Java技术的核心平台,它提供了Java编程语言、Java虚拟机(JVM)以及Java核心类库和API。Java SE主要用于开发和部署桌面应用程序、服务器应用程序、命令行工具和嵌入…

kkFileView——全能的在线文件预览解决方案

引言 在数字化办公日益普及的今天,文件的在线预览成为了一个不可或缺的功能。无论是个人还是企业,都希望能够在浏览器中直接打开并浏览各种格式的文档。今天,我们将探索一款国产开源免费的在线文件文档预览软件——kkFileView。 一、kkFile…

Pag格式在vue3中的简单使用方法

目前前端使用pag格式的方法比较少&#xff0c; 在这里我来简单实现一下pag格式在vue3中的使用方式。 第一步 先下载啦 npm i libpag 来对pag文件安装依赖 其次我们在自己想要引入的vue页面进行引入 <script setup> import { ref, computed, watchEffect, nextTick …

【设计模式深度剖析】【4】【结构型】【组合模式】| 以文件系统为例加深理解

&#x1f448;️上一篇:适配器模式 | 下一篇:桥接模式&#x1f449;️ 设计模式-专栏&#x1f448;️ 目 录 组合模式定义英文原话直译如何理解&#xff1f; 3个角色UML类图代码示例 组合模式的优点组合模式的使用场景示例解析&#xff1a;文件系统 组合模式 组合模式&a…

C#子窗体嵌入主窗体

上位机开发中&#xff0c;经常会需要将子窗体嵌入到主窗体。 运行结果 核心实现&#xff1a; private void button2_Click(object sender, EventArgs e){Form3 childForm new Form3();//判断容器中是否已经打开子窗体&#xff0c;如果打开现将其关闭foreach (Control item in…

磐启PAN2013 2.4GHz无线收发SOC

PAN2013是一款集成了8位MCU和2568bits EEPROM的无线收发SoC芯片。该芯片工作2.400~2.483GHz世界通用ISM频段&#xff0c;且集成射频收发机、频率发生器、晶体振荡器、调制解调器和低功耗MCU等功能模块&#xff0c;并且支持一对多组网和带ACK的通信模式。 用户通过MCU的I/O口向…

虚拟化平台之Proxmox VE 安装

介绍 Proxmox VE是一种基于Debian Linux和KVM的虚拟化平台&#xff0c;也可称之为Proxmox Virtual Environment。 Proxmox VE具有非常友好的用户界面&#xff0c;基于JAVA的UI和内核接口&#xff0c;方便用户登录到VM客户进行操作&#xff0c;还具有易用的模板功能&#xff0…

如果创办Google

本文是一篇演讲稿&#xff0c;来自于《黑客与画家》一书的作者保罗*格雷厄姆&#xff0c;被称为硅谷创业之父。这是他为14至15岁的孩子们做的一次演讲&#xff0c;内容是关于如果他们将来想创立一家创业公司&#xff0c;现在应该做些什么。很多学校认为应该向学生们传授一些有关…

【Leetcode 160】环形链表——双指针,细节讲解

题目 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&#…

腾讯云COS上传文件出现的问题

1、没有配置 ObjectMetadata 的文件长度 腾讯云COS上传文件出现数据损坏问题_no content length specified for stream data. strea-CSDN博客 2、 使用 FileInputStream使用完没有及时关闭导致报错 ClientAbortException: java.nio.channels.ClosedChannelException 添加…