本文分享自华为云社区《香橙派AIpro快速上手指南》,作者:昇腾CANN。

1 前言

作为业界首款基于昇腾深度研发的AI开发板,Orange Pi AIpro无论在外观上、性能上还是技术服务支持上都非常优秀,其8/20TOPS澎湃算力是目前开发板市场中所具备的最大算力,能覆盖生态开发板者的主流应用场景,让用户实践各种创新场景,并为其提供配套的软硬件。

2 香橙派AIpro硬件准备

香橙派AIpro启动后支持用户通过远程登录模式或者本机显示模式登录开发板推理任务,此处可根据两种模式所需的配件,自行选择其中一种模式准备相关硬件即可。

2.1 远程登录模式

使用RJ45网线连接开发板和PC,启动开发板后,用户在PC通过SSH工具远程登录AIpro开发板。

远程登录模式的配件列表如下:

硬件

说明

示意图

香橙派AIpro

开箱后的香橙派AIpro包括主板和电源(包含电源线与电源适配器)。

电源线与电源适配器,出厂为分开状态,需连接使用。

SD卡

SD卡用于装载镜像运行开发板。

推荐使用Micro SD卡,容量推荐不小于64GB。

烧录镜像时会格式化SD卡,建议准备一个专门给开发板使用的SD卡。

读卡器

需使用支持Micro SD卡的读卡器,用于插入SD卡烧录镜像。读卡器的接口可以根据PC接口配置选择USB或Type-C接口。

-

PC(笔记本或台式机)

用于安装制卡工具、烧录镜像和远程连接开发板。

-

连接线:

RJ45网线

用于PC连接和登录开发板。

用户可以使用RJ45网线(PC需要具备空闲以太网口)连接开发板。

RJ45网线:

2.2 本机显示模式

使用开发板直连显示器、鼠标、键盘,启动开发板后,用户可直接使用键盘与鼠标在显示的图形化桌面进行操作。

本机显示模式的配件列表如下:

硬件

说明

示意图

香橙派AIpro

开箱后的香橙派AIpro包括主板和电源(包含电源线与电源适配器)。

电源线与电源适配器,出厂为分开状态,需连接使用。

​​

SD卡

SD卡用于装载镜像运行开发板。

推荐使用Micro SD卡,容量推荐不小于64GB。

烧录镜像时会格式化SD卡,建议准备一个专门给开发板使用的SD卡。


读卡器

需使用支持Micro SD卡的读卡器,用于插入SD卡烧录镜像。读卡器的接口可以根据PC接口配置选择USB或Type-C接口。

-

PC(笔记本或台式机)

用于安装制卡工具、烧录镜像和远程连接开发板。

-

显示器

使用HDMI接口,用于展现开发板镜像中的图形化桌面。

-

HDMI连接线

双头HDMI线,用于连接显示器。

键盘

使用USB接口的键盘,用于图形化桌面的输入操作。

鼠标

使用USB接口的鼠标,用于图形化桌面的点击操作。

USB拓展坞(可选)

如果用户后续需要接入USB接口WiFi,需要再购买一个USB转多口USB扩展坞,鼠标和键盘接入扩展坞,USB接口WiFi接入开发板USB接口。

3 烧写镜像到SD卡

3.1 下载SD烧录工具及ubuntu镜像

在PC机上,进入香橙派官网,鼠标放置在“服务与下载”菜单,在弹出的菜单中单击“下载”,在下载页面找到“Orange Pi AIpro”,然后单击“Orange Pi AIpro”,进入下载详情页面,分别下载下图中的“官方工具”、“ubuntu镜像”。

官方工具和ubuntu镜像都在百度网盘,分别根据页面提示提取文件,并在以下目录中获取文件后,保存在PC机上:

  • 烧录工具balenaEtcher:官方工具>Linux镜像烧录工具-balenaEtcher>Windows_X64版本>balenaEtcher-Setup-1.18.4.exe
  • ubuntu镜像:Ubuntu>opiaipro_ubuntu22.04_desktop_aarch64_*.img.xz

3.2 安装烧录工具balenaEtcher

在PC机上,双击balenaEtcher-Setup-1.18.4.exe,按照提示安装即可。

3.3 烧录ubuntu镜像到SD卡中

1、将SD卡插入读卡器,再将读卡器插入PC机。

2、打开烧录工具balenaEtcher,按照工具界面提示,依次“从文件烧录”-》“选择目标磁盘”-》“开始烧录!”

(1)从文件烧录,选择PC机上下载的ubuntu镜像:

(2)选择目标磁盘,选择插到PC机上的SD卡:

(3)开始烧录

4 启动香橙派AIpro系统

对于远程登录、本机显示两种模式,香橙派开发板连线、启动、登录等方式不同,开发者可根据自己准备的配件,选择对应模式的连线、启动、登录方式。

4.1 远程登录模式

1、插入SD卡

将SD卡插入开发板的SD插槽,并确保完全推入插槽底部

2、开发板连线

远程登录模式,通过网线连接,如下图所示:

开发板上电后,LED指示灯绿色常亮,表示启动正常。

3、登录开发板

当开发板通过以太网口和PC连接时,先将PC的IP地址修改为和开发板的IP地址在同一个网段(例如开发板eth1网口为192.168.137.100,PC以太网口为192.168.137.101),再使用SSH工具远程登录开发板。

注意:开发板通过以太网口第一次连接网络时,可以通过HDMI屏幕、串口或查看路由器后台的方式就可以获取以太网口的IP地址,使用该IP地址可远程登录开发板。

(1)修改PC的IP地址,以Windows 10系统为例 。

在PC上打开“开始”,单击“设置”按钮,进入“Windows 设置”界面。

选择“网络和Internet”,单击“更改适配器选项”。

鼠标右键单击“以太网”后鼠标左键单击“属性”进入“以太网 属性”界面(使用以太网口连接时一般为“以太网x”,x为数字,以实际显示的数字为准)。

选择“Internet 协议版本 4(TCP/IPv4)”,单击“属性”。

勾选“使用下面的 IP 地址”选项,填写IP地址(图示以192.168.137.101为例)和子网掩码,默认网关与DNS服务器地址为空,单击“确定”保存。

使用快捷键“Win+R”,在运行窗口输入cmd进入命令行窗口。输入ipconfig命令查询PC网口IP地址是否修改成功。

C:\Users\用户实际信息>ipconfig
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::ca42:d397:f673:fad4%46
IPv4 地址 . . . . . . . . . . . . : 192.168.137.101
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :

(2)使用SSH工具远程登录开发板。

步骤1:获取并安装SSH登录工具

本文以MobaXterm为例,如果用户已部署MobaXterm或其他SSH工具,可不用下载。MobaXterm为第三方工具,下载链接和版本会跟随第三方的发布定期更新,可以在下载页面下载最新版本。

下载MobaXterm后(例如MobaXterm_Personal_22.2.exe ),双击exe程序即可启动MobaXterm。

步骤2:单击MobaXterm界面左上方的“Session”进入界面。

步骤3:单击左上方的“SSH”进入SSH连接配置界面。

步骤4:根据硬件连接方式填写开发板连接PC的接口实际IP地址,勾选“Specify username”选项,填写用户名HwHiAiUser。

步骤5:单击“OK”按钮,首次连接开发板时,SSH工具提示是否信任连接的设备,单击“Accept”。

步骤6:进入远程登录界面后,输入HwHiAiUser用户名登录密码(默认为Mind@123)登录开发板,请修改默认密码,并妥善保管新密码。

4.2 本机显示模式

1、插入SD卡

将SD卡插入开发板的SD插槽,并确保完全推入插槽底部

2、开发板连线

本机显示模式的连线如下:

开发板上电后,LED指示灯绿色常亮,表示启动正常。

3、登录开发板

插上开发板电源后,显示器中的登录界面如下:

输入HwHiAiUser用户名登录密码(默认为Mind@123)登录开发板,进入主界面如下图所示,登录后请修改默认密码,并妥善保管新密码。

在界面下方,单击  图标,打开终端,如下图所示:

在终端上,可输入Linux命令,例如输入cd命令:

5 运行第一个推理样例:图片分类

1、样例介绍

在终端窗口,执行cd /opt/opi_test/ResnetPicture命令,进入样例目录,该样例是基于PyTorch框架的ResNet50模型,对*.jpg图片分类,并在终端显示该图片的Top5置信度的分类ID、分类名称。

样例代码逻辑如下所示:

(1)数据预处理(解码+缩放),输出YUV420SP格式、224*224分辨率的图片;

(2)色域转换、归一化,输出RGB格式、224*224分辨率的图片;

(3)模型推理,输出该图片所属各分类的置信度;

(4)数据后处理,该图片的Top5置信度的分类ID、分类名称。

2、运行样例

(1)切换到root用户,输入密码,默认密码为Mind@123。

su root
password:

(2)运行样例。

在/opt/opi_test/ResnetPicture样例目录下,执行以下命令运行样例:

cd scripts
bash sample_run.sh

执行成功后,在屏幕上的关键提示信息示例如下,提示信息中的top1-5表示图片置信度的前5种类别、index表示类别标识、value表示该分类的最大置信度,class表示所属类别。

[INFO] top 1: index[162] value[0.905956] class[beagle]
[INFO] top 2: index[161] value[0.092549] class[bassetbasset hound]
[INFO] top 3: index[166] value[0.000758] class[Walker houndWalker foxhound]
[INFO] top 4: index[167] value[0.000559] class[English foxhound]
[INFO] top 5: index[163] value[0.000076] class[bloodhound sleuthhound]

6 更多介绍

通过运行第一个样例,我们大致了解了软硬件配合的一个整体流程,接下来若需要详细了解昇腾软件栈的能力、如何基于开发板在昇腾上开发&调优推理应用、如何获取更多的应用样例等,可以参考“香橙派AIpro学习资源一站式导航”一步步学习更多内容

点击关注,第一时间了解华为云新鲜技术~

手把手带你快速上手香橙派AIpro的更多相关文章

  1. 几个小实践带你快速上手MindSpore

    摘要:本文将带大家通过几个小实践快速上手MindSpore,其中包括MindSpore端边云统一格式及华为智慧终端背后的黑科技. MindSpore介绍 MindSpore是一种适用于端边云场景的新型 ...

  2. 手把手带你快速入门jQuery(视频|资料,建议收藏!)

    jQuery是什么? jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架). jQuery设计的宗旨是 ...

  3. 带你快速上手前端三剑客之css

    CSS介绍 ​ CSS(Cascading Style Sheet , 层叠样式表)定义如何显示HTML元素.当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染) 组成 ​ 每个CS ...

  4. 阿里语音识别(语音转文字)java调用全程手把手详解-适合中小学生快速上手

    阿里语音识别服务java调用全程手把手详解-适合中小学生快速上手 阿里语音识别与百度语音识别的调用对比: 用例:1分30秒的录音文件    百度用时:3秒    阿里用时:30秒    识别准确率来看 ...

  5. 快速上手Linux核心命令(三):文件和目录操作命令

    @ 目录 前言 cd 切换目录 pwd 显示当前路径 ls 显示目录下内容及相关属性信息 mkdir 创建目录 tree 以树形结构显示目录下的内容 touch 创建空白文件或改变文件的时间戳属性 c ...

  6. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  7. Netron开发快速上手(一):GraphControl,Shape,Connector和Connection

    版权所有,引用请注明出处:<<http://www.cnblogs.com/dragon/p/5203663.html >> 本文所用示例下载FlowChart.zip 一个用 ...

  8. 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)

       (目前发现一些文章被盗用的情况,我们将在每篇文章前面添加原文地址,本文源地址:http://www.cnblogs.com/idealer3d/p/Instant_RaphaelJS_Start ...

  9. UnityShader快速上手指南(三)

    简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明 ...

  10. UnityShader快速上手指南(二)

    简介 前一篇介绍了如果编写最基本的shader,接下来本文将会简单的深入一下,我们先来看下效果吧 呃,gif效果不好,实际效果是很平滑的动态过渡 实现思路 1.首先我们要实现一个彩色方块 2.让色彩动 ...

随机推荐

  1. 神经网络优化篇:详解超参数调试的实践:Pandas VS Caviar(Hyperparameters tuning in practice: Pandas vs. Caviar)

    超参数调试的实践 如今的深度学习已经应用到许多不同的领域,某个应用领域的超参数设定,有可能通用于另一领域,不同的应用领域出现相互交融.比如,曾经看到过计算机视觉领域中涌现的巧妙方法,比如说Confon ...

  2. 使用css 与 js 两种方式实现导航栏吸顶效果

    场景描述 简单的说一下场景描述:这个页面有三个部分组成的. 顶部的头部信息--导航栏--内容 当页面滚动的时候.导航栏始终是固定在最顶部的. 我们使用的第一种方案就是使用css的粘性定位 positi ...

  3. vue3新特性teleport传送原来这么神奇

    我对teleport的理解 teleport有传送的意思,读音[te li po t][嘻嘻],看官们应该知道读啥子了吧 它可以将你写的代码传送到某一个地方 传送到哪一个地方呢? 传送到你标记的地方, ...

  4. Unity的asm笔记

    使用asm的好处 减少修改C#后unity编译dll的时间,对于项目中的C#代码越多效果越明显,比如我们的一个3dmmo项目是纯C#开发,每次修改C#后编译时间就要26s以上 在Unity2018.2 ...

  5. 7.3 Windows驱动开发:内核监视LoadImage映像回调

    在笔者上一篇文章<内核注册并监控对象回调>介绍了如何运用ObRegisterCallbacks注册进程与线程回调,并通过该回调实现了拦截指定进行运行的效果,本章LyShark将带大家继续探 ...

  6. Python 开发代码片段笔记

    作者编写的一些代码片段,本版本为残废删减版,没有加入多线程,也没有实现任何有价值的功能,只是一个临时记事本,记录下本人编写代码的一些思路,有价值的完整版就不发出来了,自己组织吧,代码没啥技术含量,毕竟 ...

  7. Object.getOwnPropertyDescriptor()属性

    console.log(Object.getOwnPropertyDescriptor(person,'a')); // writable: 是否可以修改 // value: 对象值 // confi ...

  8. npm查看插件所有版本命令

    npm view webpack versions npm view webpack versions

  9. 如何控制Tomcat的catalina.out的大小

    catalina.out文件,数据主要来源为:System.out 和 System.err 在控制台上直接输出的信息. 编码时应避免使用System.out.println()和e.printSta ...

  10. Python下的三维建模和可视化

    本文介绍基于AnyCAD Rapid Py三维图形平台开发Python的三维应用 1 准备工作 1.1 安装 vc_resit 2022 在Windows下,AnyCAD Rapid SDK依赖Vis ...