一、  环境准备

1. 镜像烧录

镜像烧录可以在任何操作系统内执⾏,这⾥以在Windows系统为例,使用balenaEtcher⼯具,快速烧录镜像到Micro SD卡中。

本章节所需的软/硬件如下:

软件相关:balenaEtcher制卡⼯具、openEuler镜像

硬件相关:TF卡(64G存储卡)、读卡器

balenaEtcher制卡⼯具下载

点击链接进行下载安装balenaEtcher⼯具即可。

下载链接:https://etcher.balena.io/#download-etcher

openEuler镜像下载

点击链接下载openEuler镜像即可。

下载链接:Orange Pi - Orangepi

镜像烧录

将插入TF卡的读卡器与电脑连接,然后打开balenaEtcher⼯具,选择刚刚下载的镜像文件,然后选择TF卡进行烧录即可。

注意:下载下来的镜像文件是.xz格式的压缩包,要先解压出.img文件,选择.img文件进行烧录。

等待TF卡烧录完成拔出读卡器。

2. 连接开发板

将烧录好的TF卡插入香橙派中,连接电源启动即可。TF卡一直插在香橙派中,不拔出。

首次连接,我们需要使用HDMI线与显示屏相连,同时插入键盘鼠标才能完成配置操作。在联网后,记下香橙派的IP地址便可用Vscode、MobaXterm等远程连接的软件进行远程连接。

本章节所需的软/硬件如下:

软件:Vscode、MobaXterm(任选其一或多个皆可)

硬件:OrangePi AIpro-20t规格⾹橙派、电源线、HDMI线、显⽰器、⿏

标、键盘

首次配置

开发板开机成功后进行登录操作。

登录账号:HwHiAiUser,密码:Mind@123(root密码也是这个)

进入桌面后,点击相应WiFi输入密码进行连接。连接成功后,右键选择“Connection Information”记录下香橙派的IP地址用于同一局域网下远程连接。

MobaXterm连接

使用MobaXterm可以连接命令行也可以连接图形化界面。

首先我们进行命令行的连接。点击上方的“Session”后选择“SSH”,然后填入香橙派IP地址,指定登录用户(可选)后,点击“OK”则远程连接成功。连接端口为22。

连接远程桌面,我们也是点击上方的“Session”,但选择“VNC”,然后填入香橙派IP地址,连接端口为5901,点击“OK”则远程连接成功。

Vscode连接

下载好Vscode后安装以下插件备用。

点击“远程资源管理器”,点击SSH后的加号添加远程连接,输入“ssh HwHiAiUser@你的香橙派实际IP”后回车。然后选择刚刚添加的远程连接,点击箭头后输入密码即可连接成功。

连接成功后需要注意,远程的插件要重新安装一下。想要在Vscode远程编辑器中运行Python代码,安装Python扩展即可。

3. 软件环境升级

Toolkit升级(8.0.0_linux-aarch64)

打开终端,使用root⽤⼾,root⽤⼾密码:Mind@123。

su – root

删除镜像中已安装CANN包释放磁盘空间,防⽌安装新的CANN包时报错磁盘空间不⾜。

cd /usr/local/Ascend/ascend-toolkit

rm -rf *

下载链接:社区版资源下载-资源下载中心-昇腾社区

选择Ascend-cann-toolkit_8.0.0_linux-aarch64.run进行下载。此处我使用wget命令进行下载。下载完成后赋予其执行权限,然后运行安装。安装过程中需要手动输入一次Y。

wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.0.0/Ascend-cann-toolkit_8.0.0_linux-aarch64.run

chmod +x Ascend-cann-toolkit_8.0.0_linux-aarch64.run

./Ascend-cann-toolkit_8.0.0_linux-aarch64.run –install

出现Ascend-cann-toolkit_8.0.0_linux-aarch64 install success则安装成功。

将source /usr/local/Ascend/ascend-toolkit/set_env.sh加入到/etc/profile文件末尾并加载环境变量。

vi /etc/profile

source /usr/local/Ascend/ascend-toolkit/set_env.sh

source /etc/profile

Kernels升级(310b_8.0.0_linux-aarch64)

打开终端,使用root⽤⼾,root⽤⼾密码:Mind@123。

su – root

执⾏如下命令,获取开发板NPU型号。

npu-smi info

下载链接:社区版资源下载-资源下载中心-昇腾社区

选择Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run进行下载。此处我使用wget命令进行下载。下载完成后赋予其执行权限,然后运行安装。安装过程中需要手动输入一次Y。

wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/CANN%208.0.0/Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run

chmod +x Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run

./Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run –install

出现Ascend-cann-kernels-310b_8.0.0_linux-aarch64 install success则安装成功。

MindSpore升级(MindSpore2.5.0)

打开终端,使用HwHiAiUser用户。运行以下命令进行安装。

pip install mindspore==2.5.0 -i Simple Index

运行以下命令进行检查是否安装成功。

python -c “import mindspore;mindspore.set_device(‘Ascend’);mindspore.run_check()”

出现successfully则为成功。

Swap检查与配置

打开终端,输⼊如下命令,检查Swap是否开启:

free -m

正确输出结果为:

如输出的结果中Swap部分为0,则可在终端中输入如下命令,配置Swap:

sudo fallocate -l 16G /swapfile

sudo chmod 600/swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

echo ‘/swapfile none swap sw 0 a’sudo tee -a /etc/fstab

完成配置后可再通过 free -m 检查配置是否生效。

Gradio安装

打开终端,输⼊如下命令,安装Gradio 4.44.0:

pip uninstall gradio -y

pip install gradio==4.44.0

Mindnlp安装

打开终端,输⼊如下命令,安装Mindnlp(如已有最好先卸载,重新安装):

pip install git+https://github.com/mindspore-lab/mindnlp.git@0.4

其他python依赖安装

在运行代码时,报错显示缺少什么包就使用pip安装什么包。

二、  运行代码

1.   下载代码

代码地址:https://github.com/mindspore-courses/orange-pi-mindspore.git

打开终端,使用HwHiAiUser用户。找一个你存放代码的位置运行如下命令:

git clone https://github.com/mindspore-courses/orange-pi-mindspore.git

下载代码后,进入Online/training/01-DeepSeek-R1-Distill-Qwen-1.5B目录,目录中的三个py文件便是我们要运行的代码。

2.   运行代码

可以使用Vscode远程连接开发环境,这样运行调试更为方便。连接步骤之前已经给出,连接成功后打开代码所在文件夹,打开相应代码点击右上角运行即可。

分别给出三个py文件运行成功的截图。

deepseek-r1-distill-qwen-1.5b-lora.py

deepseek-r1-distill-qwen-1.5b-gradio.py

deepseek-r1-distill-qwen-1.5b-jit.py

三、常见问题

1. 无法连接外部网络

在连接WiFi后,可以在局域网内连接香橙派,但是香橙派无法访问外部网络。

可以用以下方式解决:

1. 在运行命令`sudo ip route del default via 192.168.0.1 dev usb0`后问题解决,可以访问外部网络。(每次重启后要重新执行命令)

2. 右键点击图形界面右上角的`“网络->Edit Connections->选择相应的问题连接(usb0)删除”`即可。(永久生效)

2. 运行代码时出现权限相关问题

运行代码时出现“Permission denied”以及其他与当前登录用户相关的问题。

可以用以下方式解决:

从下载代码开始,全程使用HwHiAiUser用户,不要使用root用户。同时注意代码存放的位置,尽量放在HwHiAiUser用户目录下,避免引发文件权限的问题。

3. 运行代码时提示Ascend显存不足

运行代码时出现Ascend显存不足的相关提示信息,最后运行失败。有Free memory size is less than half of total memory size.Device 0 Device MOC total size:24823529472 Device MOC free size:9051504640 may be other processes occupying this card, check as: ps -ef|grep python提示的。

可以用以下方式解决:

首先使用`ps -ef | grep python`命令查看是否有其他 Python 进程正在占用 NPU 导致显存不足,有则`kill`相关进程。若无异常则使用`npu-smi info`命令查看显存占用,如果发现异常最方便的方法就是使用`reboot`命令重启设备。

4. 运行代码时有RuntimeError以及ValueError

每次代码运行到训练或推理的部分就会报错。

lora:`RuntimeError: aclnnGatherGetWorkspaceSize call failed, please check!`

gradio:`RuntimeError: aclnnCumsumGetWorkspaceSize call failed, please check!`

jit:`ValueError: Attention weights should be of size (1, 12, 6, 6), but is (1, 12, 6, 512)`

可以用以下方式解决:

检查版本问题,尤其是Mindnlp的版本。

“`

Toolkit版本:8.0.0_linux-aarch64

Kernels版本:310b_8.0.0_linux-aarch64

MindSpore版本:MindSpore 2.5.0

Mindnlp版本:mindnlp 0.4.1

“`

即使Mindnlp版本号对应,但仍然建议你先卸载Mindnlp,然后运行`pip install git+https://github.com/mindspore-lab/mindnlp.git@0.4`命令重新安装Mindnlp。

5. jit第二次对话报错

运行jit的时候,在第二次对话的时候会报`RuntimeError: Sync stream error!`错误。

可以用以下方式解决:

使用`reboot`命令重启设备。

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

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

相关文章

AI生成邮件发送脚本(带附件/HTML排版)与定时爬取网站→邮件通知(价格监控原型)

想象一下:每天早晨咖啡还没喝完,你的邮箱就自动收到了心仪商品的最新价格;重要报告准时带着专业排版的附件发送到客户手中——这一切不需要你手动操作。本文将用不到100行代码带你实现这两个自动化神器! 一、为什么我们需要自动化…

【vLLM 学习】Encoder Decoder Multimodal

vLLM 是一款专为大语言模型推理加速而设计的框架,实现了 KV 缓存内存几乎零浪费,解决了内存管理瓶颈问题。 更多 vLLM 中文文档及教程可访问 →https://vllm.hyper.ai/ *在线运行 vLLM 入门教程:零基础分步指南 源码 examples/offline_inf…

【MySQL笔记】视图

目录一、什么是视图?二、使用视图的优势三、视图的创建与使用四、不能更新视图的场景五、删除视图六、总结一、什么是视图? 视图(View)是一种虚拟表,不存储实际数据,而是通过执行预定义的查询动态生成数据…

【RK3576】【Android14】分区划分

获取更多相关的【RK3576】【Android14】驱动开发,可收藏系列博文,持续更新中: 【RK3576】Android 14 驱动开发实战指南

Datawhale 25年7月组队学习coze-ai-assistant Task1学习笔记:动手实践第一个AI Agent—英伦生活口语陪练精灵

Chap1 了解AI工作流 1.1什么是工作流 工作流 就像是一条流水线,把复杂的任务拆分成多个简单的步骤,每一步都有明确的目标和流程。1.2智能体和工作流的区别 智能体(AI Agent) **是什么 :**智能体是一个自动化的“助手”…

Webpack插件开发深度指南:从原理到实战

Webpack插件是前端工程化的核心引擎,本文将带你深入插件开发全流程,实现一个功能完整的资源清单插件,并揭示Tapable事件系统的核心原理。 一、Webpack插件机制解析 1.1 插件架构核心:Tapable事件系统 Webpack基于Tapable构建了…

2、Redis持久化详解

Redis持久化详解 文章目录 Redis持久化详解 前言 RDB和AOF的区别 RDB和AOF的优缺点 Redis 持久化配置 1、RDB持久化配置 2、AOF持久化配置(尝试修复会删除aof文件内容) 3、AOF 重写功能 新增知识点: 新增知识点: 前言 Redis是一种高级 key-value 型的NoSQL数据库。它跟mem…

curl 命令详解

curl 命令的 -d/–data 和 --data-urlencode 的区别 curl 命令的 -d/–data 和 --data-urlencode 都用于发送 HTTP POST 请求的数据,但关键区别在于 是否自动对数据进行 URL 编码。以下是详细对比: curl 命令的 -d/--data 和 --data-urlencode 都用于发送…

ubuntu下好用的录屏工具

以下是 vokoscreen 的安装教程,适用于 Linux 系统。vokoscreen 是一款简单易用的屏幕录制工具,支持录制屏幕、摄像头和音频。 安装 vokoscreen vokoscreen 提供了多种安装方式,包括通过包管理器、Deb 包或 AppImage 文件。 方法 1&#xf…

笔试大题20分值(用两个栈实现队列)

目录前言一、原题二、解题思路三、代码实现(c/c)C语言代码C代码实现结语前言 目前博主在处于秋招求职的关键时期,在暑假这段时间会频繁更新博客,想在暑假期间把一些常考的面试和笔试题过一下,利用这两个月沉淀一下技术…

【知识扫盲】tokenizer.json中的vocab和merges是什么?

在自然语言处理里,tokenizer.json 文件一般是由 Hugging Face 的 Tokenizers 库生成的,它是分词器配置的核心文件。这里面的 vocab 和 merges 是子词分词算法(像 BPE 这种)的重要构成要素。下面为你详细解释它们的作用和工作原理&…

【安卓笔记】RxJava的Hook机制,整体拦截器

0. 环境: 电脑:Windows10 Android Studio: 2024.3.2 编程语言: Java Gradle version:8.11.1 Compile Sdk Version:35 Java 版本:Java11 1. 使用场景 整个项目都是用了RxJava,需要对 整个/部分 项目…

NX二次开发常用函数——从一个坐标系到另一个坐标系的转换(UF_MTX4_csys_to_csys )相同体坐标转化

再做项目时相信大家都会用到坐标转化,例如,我之前写的案例分享中的博客都用到过,之前总是找借口进行if else判断,虽然可以实现,但是比起坐标变换无论代码复杂程度还是运行速度都比较差,之前参加过曹大师的教学训练营,但是明显感觉到大佬写代码的逻辑性以及模块化能力都比…

数据库防止数组字符串序列化

请求接到数组["aa","bb"]后,后端需要转换成字符串Java 8 使用 String.join()String[] arr {"aa", "bb"}; String str String.join(",", arr); // "aa,bb"如果采用其他转换,在字段存入数据库后会["\"a…

若依框架文件上传返回路径端口错误 - Nginx代理环境下serverConfig.getUrl()获取端口异常

目录一 、问题描述二、问题现象三、问题根本原因3.1 代码分析3.2 问题核心四、解决方案五、总结一 、问题描述 在使用若依框架进行项目开发时,遇到了一个令人困扰的问题:文件上传功能在本地开发环境运行正常,但部署到服务器后,上…

使用PyInstaller打包 Python 工程

引言:大模型是个好工具,尽管好多内容都是拼凑的,但是整理学到的就是自己的。因工作需要隐藏python源代码,方法有PyInstaller 、Cpython等多种方法,PyInstaller更为常用,PyInstaller打包 Python 工程步骤整理如下: 一、确保系统环境准备就绪 安装 Python 和 pip 确认版本…

Python 程序设计讲义(1):PyCharm 安装教程

Python 程序设计讲义(1):PyCharm 安装教程 一、安装 Python 解释器 1、下载 Python 安装文件 点击如下链接进入 Python 官网: https://www.python.org/ 在弹出的页面中单击【Downloads】,然后单击下面的【Download Pyt…

uniapp云打包安卓

1、基础云打包 2、修改logo3、怎么实现下拉菜单4、修改启动页启动页默认这样 5、URL Scheme页面跳转

Python----NLP自然语言处理(英文分词器--NLTK)

一、NLTK_介绍NLTK(Natural Language Toolkit,自然语言处理工具包),一个主要用于清洗和处理英文文本的Python工具包。它有很多的功能,我们主要使用的是它的分词功能,之前讲过中文分词是比较复杂的&#xff…

传统浏览器过时了?Dia如何用AI重新定义上网体验

欢迎来到我的博客,代码的世界里,每一行都是一个故事🎏:你只管努力,剩下的交给时间 🏠 :小破站 传统浏览器过时了?Dia如何用AI重新定义上网体验它是什么核心功能搜索编程左右互动感谢…