【香橙派 AIpro】新手保姆级开箱教程:Linux镜像+vscode远程连接

香橙派 AIpro 开发板 AI 应用部署测评

  • 写在最前面
  • 一、开发板概述
    • 官方资料
    • 试用印象
    • 适用场景
  • 二、详细开发前准备步骤
    • 1. 环境准备
    • 2. 环境搭建
    • 3. vscode安装ssh插件
    • 4. 香橙派 AIpro 添加连接配置
    • 5. 连接香橙派 AIpro
    • 6. SSH配置
  • 二、详细开发步骤
    • 1. 登录 juypter lab
    • 2. 样例运行
    • 3. 观察与调整
    • 4. 运行目标检测样例
  • 小结
    • 试用感受


请添加图片描述

🌈你好呀!我是 是Yu欸
🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~
🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长!

写在最前面

在人工智能和物联网技术日益成熟的今天,边缘计算设备因其在数据处理和实时性方面的优势而受到广泛关注。香橙派 AIpro(OrangePi AIpro)开发板以其出色的性能和丰富的应用场景,成为开发者探索 AI 应用部署的理想选择。

有幸获得了邀请,并有幸邀请到了闪电@shandainchengzi,和我一起对这款备受瞩目的开发板进行一次体验测评。下面将从新手个人开发经验出发,对香橙派 AIpro 开发板进行测评,并分享我的试用感受。

请添加图片描述

一、开发板概述

香橙派 AIpro 是一款集成了华为 Ascend 系列 AI 处理器的开发板,专为 AI 应用和边缘计算设计。它不仅具备强大的计算能力,还拥有丰富的接口和扩展性,使其能够满足多样化的 AI 应用场景需求。

在这里插入图片描述

官方资料

首先进入官网http://www.orangepi.cn/

在这里插入图片描述

进入香橙派 AIpro的相关栏目,可以发现有很多官方资料,以及官方镜像。http://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-AIpro.html

在这里插入图片描述

有两种镜像可以选择,本文以Linux为例进行说明。

试用印象

对香橙派 AIpro 的第一印象是其简洁而高效的开发环境。开发板预装的 Jupyter Lab 软件,为 AI 应用的编写、测试和部署提供了极大的便利。通过 Jupyter Lab,可以在一个统一的界面中完成代码编写、模型训练和结果展示。

适用场景

香橙派 AIpro 适用于多种 AI 应用场景,包括但不限于目标检测、图像分类、语音识别等。它的轻量化设计使其尤其适合于需要实时处理和低延迟的应用,如智能监控、自动驾驶辅助系统等。

二、详细开发前准备步骤

1. 环境准备

二、详细开发前准备步骤

  1. 环境准备
    首先,插上电源线,找到一根HDMI视频线(需要插入带网口的HDMI接口)连接显示屏,再接上鼠标和键盘。

在这里插入图片描述

通电后,板子上电风扇狂转,一种跑车起步的感觉,周围目光都看过来了。当我们以为它会一直如此聒噪时,反差来得很快:系统迅速启动,风扇转速降低,接近静音状态。

请添加图片描述

屏幕也显示了,壁纸很好看,五彩斑斓的

在这里插入图片描述
然后输入密码后就进去啦。默认密码是:Mind@123

在这里插入图片描述

2. 环境搭建

点击右上角连接wifi,注意如果后续要和笔记本相连的话,两者需要是同一个wifi。

wifi在这里配置:

在这里插入图片描述

然后通过ipconfig命名,分别查看本机和香橙派 AIpro的ip

在这里插入图片描述
然后测试两者之间是否能够ping通。

ping 192.168.43.252

在这里插入图片描述

如果可以ping通,可以继续在笔记本电脑的vscode上,通过ip远程连接到香橙派 AIpro。

3. vscode安装ssh插件

根据你的操作系统选择对应的版本进行下载和安装。 安装完成之后,启动vscode,选择左侧Extensions 选项卡,在输入框搜索 remote ,选择安装Remote-SSH插件。

在这里插入图片描述

安装完成之后,会在左侧新增一个选项卡Remote Explorer。

4. 香橙派 AIpro 添加连接配置

点击该选项卡,会进入SSH TARGETS的添加,然后点击添加按钮,输入香橙派 AIpro的地址,账号和ip根据自己的情况进行修改,如下图所示:

在命令行输入命令,注意192.168.43.252改为自己的香橙派 AIpro的ip

最好使用HwHiAiUser这个登录,因为后面发现:后续的官方说明,以及AI应用样例,都在HwHiAiUser这个用户下。

ssh root@192.168.43.252
ssh HwHiAiUser@192.168.43.252

在这里插入图片描述

回车保存刚才的输入的信息到配置文件。保存之后,会将刚才的连接信息存储在 C:\Users\598666.ssh\config 中。

5. 连接香橙派 AIpro

右键选择香橙派 AIpro,点击Connect to Host in Current Window(在当前窗口中连接):

在这里插入图片描述

如果香橙派 AIpro能够连接成功,此时会需要你输入型号、密码:

选择Linux系统

在这里插入图片描述

密码输入Mind@123

在这里插入图片描述

最后点击刷新后,此时就可以在SSH TARGETS中看到添加的香橙派 AIpro地址了。

6. SSH配置

Ctrl+Shift+P 打开命令框,输入"Show Login Terminal";或者也可以依次选择"文件"->“首选项”->“设置”,搜索Show Login Terminal,勾选"Always reveal the SSH login terminal"

在这里插入图片描述
再点击远程连接的图标,选择"Connect to Host in New Window" or "Connect to Host in Current Window

然后再次输入密码:Mind@123,即可远程连接香橙派 AIpro

在这里插入图片描述

二、详细开发步骤

1. 登录 juypter lab

  1. 首先登录 Linux 系统桌面,然后打开终端,再切换到保存 AI 应用样例的目录下。
(base) HwHiAiUser@orangepiaipro:~$ cd samples/notebooks/

注意前面是前缀,直接输入命令cd samples/notebooks/即可。后续一致。

  1. 在当前目录下有 9 个文件夹和 1 个 shell 文件,分别对应 9 个 AI 应用样例和
    Jupyter Lab 启动脚本 start_notebook.sh
(base) HwHiAiUser@orangepiaipro:~/samples/notebooks$ ls
01-yolov5 06-human_protein_map_classification
02-ocr 07-Unet++
03-resnet 08-portrait_pictures
04-image-HDR-enhance 09-speech-recognition
05-cartoonGAN_picture start_notebook.sh
  1. 然后执行 start_notebook.sh 脚本启动 Jupyter Lab。
(base) HwHiAiUser@orangepiaipro:~/samples/notebooks$ ./start_notebook.sh
  1. 在执行该脚本后,终端会出现如下打印信息,在打印信息中会有登录 Jupyter
    Lab 的网址链接。

在这里插入图片描述

2. 样例运行

再在浏览器中输入上面看到的网址链接,就可以登录 Jupyter Lab 软件了。

但是会需要输入token,所以我们需要新建终端,然后输入命令查看token

jupyter server list

在这里插入图片描述
将刚刚查看的token输入,或者直接复制这一句https的访问链接,访问该网页

例如我的是:http://127.0.0.1:8888/?token=8d7c0243aa353d50521d9d1155ed36f459a846b1cb94da03

在这里插入图片描述

3. 观察与调整

在 Jupyter Lab 中,预置了多个 AI 应用样例,涵盖了目标检测、文字识别、图像分类等多个领域。通过双击样例目录,可以加载相应的 main.ipynb 文件,并开始运行样例。

在这里插入图片描述

运行样例后,可以观察模型的推理过程和结果。例如,在目标检测样例中,可以实时看到模型对视频帧中的对象进行检测和标注。

4. 运行目标检测样例

在体验过程中,我截取了多张真实试用的截图,包括 Jupyter Lab 的界面、模型推理的过程以及结果展示,这些截图将作为文章的重要部分,帮助读者更直观地理解香橙派 AIpro 的性能。

YOLOv5 是一种单阶段目标检测器算法,在这个样例中,我们选取了YOLOv5s,它是 YOLOv5 系列中较为轻量的网络模型,适合在边缘设备部署,进行实时目标检测。在样例中已经包含转换后的 om 模型和测试视频、图片,可以按照以下流程在 Jupyter Lab 中运行该样例。

  1. 首先在 jupyter lab 界面双击“01-yolov5”,进入到该目录下。

  2. 在该目录下有运行该示例的所有资源,其中 mian.ipynb 是在 Jupyter Lab 中运行该样例的文件,双击打开 main.ipynb,在右侧窗口中会显示 main.ipynb 文件中的内
    容。

  3. 在 main.ipynb 文件中 infer_mode 的值可赋值为 image、video 和 camera,分别对应对图片、视频、USB 摄像头中的内容进行目标检测,默认值为 video。

  4. 单击 按钮运行样例,在弹出的对话框中单击“Restart”按钮,此时该样例开始运行。

在这里插入图片描述

  1. 若干秒后,在窗口中出现了一段赛车的视频,我们可以看到模型对视频的每一帧进行推理,并将检测到的赛车标注了出来。

在这里插入图片描述

小结

综上所述,香橙派 AIpro 是一款功能强大、易于使用的 AI 开发板。它不仅适合初学者学习和探索 AI 技术,也能满足专业开发者在边缘计算和 AI 应用部署方面的需求。随着 AI 技术的不断进步,我相信香橙派 AIpro 将在未来的智能系统中扮演更加重要的角色。

试用感受

通过实际体验,我认为香橙派 AIpro 在 AI 应用部署方面表现出色。它不仅提供了一个易于上手的开发环境,还具备高效的计算性能和良好的扩展性。特别是在目标检测和图像分类等应用中,它的实时处理能力给我留下了深刻的印象。


欢迎大家添加好友交流。

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

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

相关文章

MySQL主从搭建--保姆级教学

MYSQL主从搭建步骤 主节点 # 进入目录 cd /opt# 下载安装包 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz# 解压 tar -xvf mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz# 拷贝到/usr/local mv /opt/mysql-8.0.20-linux-g…

【IDEA】-使用IDEA查看类之间的依赖关系

1、父子类的继承、实现关系 1.1、使用CTRL Alt U 选择 java class 依据光标实际指向的类位置 用实心箭头表示泛化关系 是一种继承的关系,指向父类 可以提前设置需要显示的类的属性、方法等信息 快捷键 Ctrl Alt S ,然后搜索 Diagrams 1.2、使用…

python知识继续学习

1、计算机表示小数是有误差的,下面的5就是误差 2、在python中,所有的非0数字都是True,零是False。所有的非空字符串都是True,空字符串是False。空列表是False。在python的基本数据类型中,表示空的东西都是False&#x…

数据结构(三)循环链表 约瑟夫环

文章目录 一、循环链表(一)概念(二)示意图(三)操作1. 创建循环链表(1)函数声明(2)注意点(3)代码实现 2. 插入(头插&#x…

【linux】运维-基础知识-认知hahoop周边

1. HDFS HDFS(Hadoop Distributed File System)–Hadoop分布式文件存储系统 源自于Google的GFS论文,HDFS是GFS的克隆版 HDFS是Hadoop中数据存储和管理的基础 他是一个高容错的系统,能够自动解决硬件故障,eg&#xff1a…

【Linux 网络编程】网络的背景、协议的分层知识!

文章目录 1. 计算机网络背景2. 认识 "协议"3. 协议分层 1. 计算机网络背景 网络互联: 多台计算机连接在一起, 完成数据共享; 🍎局域网(LAN----Local Area Network): 计算机数量更多了, 通过交换机和路由器连接。 🍎 广…

多模态模型入门:BLIP与OWL-ViT

BLIP 数据预处理 CapFilt:标题和过滤 由于多模态模型需要大量数据集,因此通常必须使用图像和替代文本 (alt-text) 对从互联网上抓取这些数据集。然而,替代文本通常不能准确描述图像的视觉内容,使其成为噪声信号,对于…

MAC M1 —— Install

文章目录 MAC M1 —— Install安装IDEA安装JDK安装Maven安装brew无法创建文件 /data/serverMac 修改终端用户名(主机名)PyCharm MAC M1 —— Install 安装IDEA 关键词:2020到2021.3的激活步骤。找下Download文件夹 安装JDK 在个人的电脑上…

思维+滑动窗口,LeetCode 2831. 找出最长等值子数组

目录 一、题目 1、题目描述 2、接口描述 python3 cpp JS 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 python3 cpp JS 一、题目 1、题目描述 给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。 如果子数组中所有元素都相等,则认…

TypeScript 学习笔记(十一):TypeScript 与微服务架构的结合应用

TypeScript 学习笔记(十一):TypeScript 与微服务架构的结合应用 1. 引言 在前几篇学习笔记中,我们探讨了 TypeScript 的基础知识、前后端框架的结合应用、测试与调试技巧、数据库以及 GraphQL 的结合应用。本篇将重点介绍 TypeScript 与微服务架构的结合应用,包括如何使…

mysql数据库管理-mysqlbinlog备份与恢复,主备复制分析

由于服务器生成的二进制日志文件以二进制格式保存,所以如果想要检查这些文件的文本格式, 就会用到mysqlbinlog日志管理工具。 mysqlbinlog的具体用法如下: shell> mysqlbinlog [options] log-files1 log-files2. . option有很多选项&…

《探索Stable Diffusion:AI绘画的创意之路与实战秘籍》

《Stable Diffusion AI 绘画从提示词到模型出图》介绍了 Stable Diffusion AI 绘画工具及其使用技巧。书中内容分为两部分:“基础操作篇”,讲解了 SD 文生图、图生图、提示词、模型、ControlNet 插件等核心技术的应用,帮助读者快速从新手成长…

mysql仿照find_in_set写了一个replace_in_set函数,英文逗号拼接字符串指定替换

开发中使用mysql5.7版本数据库,对于英文逗号拼接的字符串,想要替换其中指定的字符串,找不到数据库函数支持,自己写了一个,实测好用! /*类似find_in_set,按英文逗号拆分字段,找出指定的旧字符串,替换成新字…

Python库之retrying的高级用法深度解析

Python库之retrying的高级用法深度解析 概述 retrying 是一个Python库,它通过装饰器的方式简化了代码中重试机制的实现。本文将深入探讨retrying库的高级用法,帮助开发者更有效地利用它来增强程序的稳定性和健壮性。 安装 首先,确保你已经…

java中,怎样用最简单方法实现写word文档

在跨平台环境中实现写word时,如果用现成的库,就会涉及跨平台兼容性问题,比如在安卓与java中实现写word的功能。还有一个问题就是,完全用程序生成word文档,工作量较大。所以采用了模板替换的方法。 docx文档本质就是一…

深度学习之学习率调度器Scheduler介绍

调度器是深度学习训练过程中非常重要的一部分,它用于动态调整模型的学习率,从而提高训练效率和最终性能。 1. 为什么需要学习率调度器? 深度学习训练中,学习率是一个非常关键的超参数。合适的学习率可以确保模型快速收敛并获得良好的性能。 但是在训练过程中,最优的学习率会随…

算法与数据结构:二叉排序树与AVL树

ACM大牛带你玩转算法与数据结构-课程资料 本笔记属于船说系列课程之一,课程链接: 哔哩哔哩_bilibilihttps://www.bilibili.com/cheese/play/ep66799?csourceprivate_space_class_null&spm_id_from333.999.0.0 你也可以选择购买『船说系列课程-年度会…

python判断字符串有无小数点有的话去掉小数点后面的数

python判断字符串有无小数点有的话去掉小数点后面的数 可以使用Python的字符串方法split()和strip()来判断和去除字符串中小数点后的数。 def remove_decimal_part(s):parts s.split(.)if len(parts) > 1:return parts[0]else:return s# 示例代码 s1 "123.456"…

javascript极简Date对象总结

new Date()和Date.now() new Date() 返回的是一个包含年月日时分秒的时间Date.now() 返回的是1970年1月1日0时0分0秒,到现在的时间毫秒数 时间格式化 let date new Date();let y date.getFullYear(); let m date.getMonth(); //返回值1真实月份 let d date.g…

# AI作画原理:生成对抗网络(GAN)的原理与应用

AI作画原理:生成对抗网络(GAN)的原理与应用 现在,AI已经可以画出非常逼真的图像了。那么,AI是怎么做到这一点的呢? 深度学习与生成对抗网络(GAN) AI画画的核心技术之一是深度学习&…