当一个小白拿到了香橙派 AIpro

当一个小白拿到了香橙派 AIpro

最近看见了香橙派 AIpro这块AI算法板,作为一块与华为合作的国产算力板,引起了我强烈的好奇心,可作为一名从未使用过香橙派,也未曾深究过AI算法的“小白”,来看我是如何征服这块新的领域吧。

准备工作

当我拿到这块板子之后,首先给我的感觉就是很沉,元件集成度很高,各种元件都紧密的集中在这块巴掌大的板子上。

在这里插入图片描述

香橙派 AIpro配备的接口也很丰富,两个HDMI2.0口,支持双4k视频输出,支持一个MIPI DSI屏输出,支持两个MIPI接口摄像头输入,可惜的是目前只有一个HDMI口支持Linux桌面显示,等待软件升级才能双HDMI口支持。还配备了一个千兆网口,两个usb3.0口,一个type-c3.0口(可惜不是雷电口),一个3.5mm耳机口,一个MIPI DSI接口,支持自定义连接小屏幕,两个MIPDI CSI摄像头接口,一个M.2 M-KEY 2280长度的固态硬盘接口,一个eMMc接口,一个tf卡接口(对穷人可太友好了哈哈哈),背面还有两个启动方式拨片开关,支持四种启动方式,侧面存在一个reset按键和一个一键关机按键与一个Micro USB调试口,能满足绝大多数开发者的各种需求了,对于我这个小白来说可真是大涨眼界,小小一块板子能塞下这么多东西。
在这里插入图片描述
接下来就是实实在在的准备工作了,香橙派 AIpro支持HDMI连接显示器显示linux桌面端,也可以通过ssh进行远程开发,小白选择将香橙派放置到一个环境好的地方配置好网络地址使用ssh远程使用。

配置静态地址

参考香橙派官网的用户手册进行网络相关的配置:附上用户手册地址

设置远程ssh登录

首先香橙派 AIpro内置的系统以及为我们预置了很多依赖,ssh直接使用就行,但小白发现系统内没有.ssh文件夹,不能直接添加密钥进行偷懒式登录,于是小白网上寻找资料后找出了以下应对方法:

sh localhost
# 创建.sh文件夹,但文件夹内没有authorized_keys这个文件
ssh-keygen -t rsa
# 生成香橙内部的id_rsa文件
cd .ssh
mv id_rsa.pub authorized_keys
chmod 600 authorized_keys
# 然后将远ssh的电脑的sshkey添加到authorized_keys里就可以了

以上,准备工作就做完了,小白就可以使用自己的电脑来使用这块香橙派 AIpro了

体验内置的A实例

香橙派 AIpro内置了 Jupyter Lab,并贴心的为我们配置好了环境,还准备了9个AI样例供我们体验

启动 Juter Lab

/samples/notebooks/start_notebook.sh

到打印中 Jupyter Lab给出的网址
在这里插入图片描述

进入 Jupyter Lab,点开左侧文件夹进入./samples/notebooks/中可以看见预置的9个AI实例
在这里插入图片描述
从上往下分别是目标检测样例,文字识别样例,目标分类样例,图像曝光增强样例,卡通图像生成样例,蛋白质分类评估样例,细胞图像分割样例,人像分割与背景替换样例,语音识别样例

运行人像分割与背景替换样例

在这里插入图片描述

点开08-portrait_pictures文件夹,双击其中的main.ipynb文件,我们观察下此时的文件结构,再稍微瞅瞅main.ipynb中的代码,不难发现data文件夹下的两张图片就是一张人像图一张背景图,小白直接找两张图片替换进去看看结果
在这里插入图片描述
在这里插入图片描述

点击运行之后没过几秒就生成了图片,虽然人物的发丝部分扣的没那么干净,有部分细节丢失了,但相比手工抠图的繁琐,效率直线提升,而剩下的这些瑕疵调整起来也简简单单,很容易就能达到自己想要的效果。
其中需要注意的是替换的两张图片的大小需要对应,或者背景图比人物图大也可以,不然程序会运行报错,美中不足的是实例算法对于扣除的人物的位置以及大小不能只能进行放置,这部分我们后续改写下算法应该可以解除这个问题。

在这里插入图片描述

编译openwrt

openwrt作为一个广受欢迎的嵌入式设备的Linux操作系统,深受广大开发者的喜爱,其所具有的非单一且不可更改固件特性以及提供的软件包管理功能完全可写, 是一个无需围绕它构建完整固件就能开发应用程序的框架; 对于普通用户来说,这意味着拥有了完全定制的能力,能以意想不到的方式使用该设备,下面编译一个简易的openwrt路由系统来测试下系统性能

1.更新系统软件

sudo apt-get update

在这里插入图片描述

2.安装openwrt编译环境

sudo apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc

在这里插入图片描述

3.下载openwrt源代码

可以得到以下文件夹

cd ~
git clone https://github.com/openwrt/openwrt.git
git branch -a

在这里插入图片描述
查看当前自己的分支,可以通过check加上对应版本号切换为对应版本,我这里已经切换过了
在这里插入图片描述

4.更新软件

cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

注意,中间可能需要科学上网来防止有些包下载不了,遇见更新失败的情况可以多更新几次
在这里插入图片描述
在这里插入图片描述

5.测试编译环境

make defconfig
在这里插入图片描述

6.配置编译内容

make menuconfig

进入如下的配置页面,设置必要选项
Target System (Atheros AR7xxx/AR9xxx) 选择处理器类型
Subtarget (Devices with small flash) 选择默认
Target Profile (TP-LINK TL-WR703N v1) 选择路由器型号

LuCI —>
1.Collections —>
<*> luci… LuCI interface with Uhttpd as Webserver (default) 添加一个Luciweb界面

LuCI —>
2. Modules —>
Translations —>
<*> Chinese (zh-cn) 选择语言

在这里插入图片描述

通过方向键进行选择,回车键进入,空格键选择,其中选项前面的 表示编译为独立的包,即类似安装包,不会在编译好的系统中存在,需要另外安装, <*> 表示编译为内建包,即相当于直接编译至系统内部,不需要另外再安装,连续按下两次退出键 ESC 返回上一级目录,最后保存好的配置文件将会在当前的 OpenWrt 目录下生成一个名为 .config 的隐藏文件生成固件

7.下载源以及多核编译依赖

此命令将会预先下载你依赖的所有源代码,同时开启支持多核编译的功能,这样你才可以成功编译,并且使用多核编译提升编译速度
make download
在这里插入图片描述

8.开始编译

等待上面的内容下载完毕后就可以进行编译了
make -j ( ( (( (((nproc)+1)) V=s

使用全部核进行编译,并输出日志,方便寻找第一次编译出问题的地方
在这里插入图片描述

等待漫长的编译之后可以在 “ bin/targets/对应cpu型号/ ” 文件夹下找到生成的固件,导出后就可以给对应的机子升级了,首次编译耗时比较长,二次编译就快很多了

总结

对于香橙派AIpro的简单使用之后,体验还是很好的,多样化的开发方式满足不同人群的使用习惯,图形化的桌面操作简洁清爽,多样化的接口提供无限可能,不过目前使用时间过短,还有很多功能未能体验,后续有时间会分享更多的使用体验。

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

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

相关文章

【机器学习】随机森林:深度解析与应用实践

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 随机森林&#xff1a;深度解析与应用实践引言1. 随机森林基础1.1 什么是随机森林…

谢宁DOE培训的课程大纲分享

谢宁DOE培训旨在深入讲解谢宁问题解决方法在质量管理中的重要作用&#xff0c;学会如何利用谢宁问题解决方法工具&#xff0c;在不中断生产过程的前提下&#xff0c;找出生产中碰到的复杂而顽固的问题的原因&#xff0c;从而彻底地解决问题。 【课程内容】 第一部分&#xff1…

K8S 证书过期不能使用kubectl之后,kubeadm 重新生成证书

查询证书过期时间 kubeadm certs check-expiration重新生成证书 # 重新生成所有证书 kubeadm certs renew all # 重新生成某个组件的证书 kubeadm certs renew 组件名称 如&#xff1a;apiserver生成新的配置 # 重新生成kubeconfig配置 kubeadm init phase kubeconfig # 重…

当新媒体运营开始说真话,这些道理你真的懂么?沈阳新媒体运营培训

运营新人&#xff0c;尤其是刚毕业、啥都不会的大学生&#xff0c;一定要认清的现实就是&#xff1a;虽然新媒体运营这个岗位门槛比较低&#xff0c;薪资也比较香&#xff0c;但绝不是养老型的工作。 平时大家还是很忙的&#xff0c;所以一定要摒弃学生思维&#xff0c;千万别…

男士内裤哪个品牌好一点?2024热门男士内裤推荐

男人的内裤保质期只取决于被别人看见的次数&#xff0c;如果某条内裤从未被别人看见过&#xff0c;那它永远都是你的新内裤。也就是说&#xff0c;只要穿着破内裤这尴尬的瞬间没被目击&#xff0c;男人就能永远和一条内裤在一起。 实际上如果长时间不更换男士内裤&#xff0c;…

电脑如何修改文件后缀?文件怎么改后缀?批量修改文件后缀方法终于来了!

在日常的计算机操作中&#xff0c;我们经常需要修改文件的后缀名&#xff0c;以满足不同的需求或解决某些问题。文件后缀名&#xff0c;也称为文件扩展名&#xff0c;是操作系统用来识别文件类型的一种标记。通过修改文件后缀名&#xff0c;我们可以改变文件的打开方式、兼容性…

基础—SQL—DQL(数据查询语言)排序查询

一、引言 排序查询这里面涉及的关键字&#xff1a;ORDER BY。在我们日常的开发中&#xff0c;这个是很常见的&#xff0c;比如打开一个网购的商城&#xff0c;这里面可以找到一个销量的排序、综合的排序、价格的排序&#xff08;升序、降序&#xff09;等等。接下来就学习这一部…

如何快速的将Excel定义的表结构变成MySQL的建表语句

如何快速的将Excel定义的表结构变成MySQL的建表语句 最近需求有点多啊&#xff0c;做一个小需求就有一堆表结构&#xff0c;一个一个实行CV大法&#xff0c;实在太伤身体了&#xff0c;有没有能够快速便捷的方法将一大堆Excel表转换成MySQL的表结构建表语句呢&#xff0c;网上…

探索多模态MR图像的脑肿瘤分割任务结构| 文献速递-深度学习肿瘤自动分割

Title 题目 Exploring Task Structure for Brain Tumor Segmentation From Multi Modality MR Images 探索多模态MR图像的脑肿瘤分割任务结构 01 文献速递介绍 脑肿瘤分割旨在从多模态磁共振&#xff08;MR&#xff09;序列中自动分割肿瘤区域&#xff0c;这些序列由先进的…

html中 table的 colspan和rowspan

Colspan 单元格跨越多列; Rowspan 单元格跨越多行 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title></title> </head> <body><h4>单元格跨两列:</h4> <table border"1"&…

Linux:subshell(子shell)和childprocess(子进程)

相关阅读 Linuxhttps://blog.csdn.net/weixin_45791458/category_12234591.html?spm1001.2014.3001.5482 一、预备知识 在进行这个话题之前&#xff0c;首先要了解Linux系统中一个进程是如何创建的&#xff0c;当一个命令被执行时&#xff0c;首先会在当前进程创建一个子进程…

Python 将Word、Excel、PDF、PPT文档转为OFD文档

OFD&#xff08;Open Fixed-layout Document &#xff09;是我国自主制定的一种开放版式文件格式标准。OFD文档具有不易被篡改、格式独立、版式固定等特点&#xff0c;目前常用于政府公文、金融、电子发票等领域。 如果想要通过Python将Office文档&#xff08;如Word、Excel或…

02-CSS3基本样式

目录 1. CSS3简介 1.1 CSS3的兼容情况 1.2 优雅降级和渐进增强的开发思想 2. 新增选择器 2.1 选择相邻兄弟 2.2 匹配选择器 2.3 属性选择器(重点) 2.4 结构性伪类选择器&#xff08;重点&#xff09; 2.4.1 整体结构类型 2.4.2 标签结构类型 2.4.3 指定子元素的序号&…

机器人系统ros2-开发学习实践16-RViz 用户指南

RViz 是 ROS&#xff08;Robot Operating System&#xff09;中的一个强大的 3D 可视化工具&#xff0c;用于可视化机器人模型、传感器数据、路径规划等。以下是RViz用户指南&#xff0c;帮助你了解如何使用RViz来进行机器人开发和调试。 启动可视化工具 ros2 run rviz2 rviz2…

C++ day2 练习

思维导图 自己封装一个矩形类(Rect)&#xff0c;拥有私有属性:宽度(width)、高度(height)&#xff0c; 定义公有成员函数: 初始化函数:void init(int w, int h) 更改宽度的函数:set_w(int w) 更改高度的函数:set_h(int h) 输出该矩形的周长和面积函数:void show() #inclu…

中间件复习之-消息队列

消息队列在分布式架构的作用 消息队列&#xff1a;在消息的传输过程中保存消息的容器&#xff0c;生产者和消费者不直接通讯&#xff0c;依靠队列保证消息的可靠性&#xff0c;避免了系统间的相互影响。 主要作用&#xff1a; 业务解耦异步调用流量削峰 业务解耦 将模块间的…

go 针对 time类型字段,前端查询,后端返回数据格式为UTC时间

测试代码 package mainimport ("context""log""net/http""time""github.com/gin-gonic/gin""go.mongodb.org/mongo-driver/bson""go.mongodb.org/mongo-driver/bson/primitive""go.mongodb.org/m…

微信、支付宝新规:单笔交易超过3000元将受抽查!风控更为严格!

就在近段时间&#xff0c;网上出现了大量的传言&#xff0c;5月起微信、支付宝新规&#xff0c;单笔交易金额超过3000元就会面临抽查的风险&#xff1f;这一言论引起不少的恐慌&#xff0c;纷纷表示出抵触的心理。 为了有效打击这些不法行为&#xff0c;维护金融市场的健康稳定…

计算机组成原理·海明编码及其实验

前言&#xff1a;海明编码这一块在刚开始的时候没有弄懂&#xff0c;后面通过做实验、复习慢慢摸清了门道。在学习计算机组成原理的过程中&#xff0c;实验实践是很重要的&#xff0c;它会让你去搞清楚事情背后的原理&#xff0c;逼着你学会你没听懂的东西。这篇文章会从海明码…

【UnityShader入门精要学习笔记】第十六章 Unity中的渲染优化技术 (上)

本系列为作者学习UnityShader入门精要而作的笔记&#xff0c;内容将包括&#xff1a; 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更&#xff0c;有始无终 我的GitHub仓库 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 移动平台上…