OPi AI Station系统烧录至PyTorch环境安装
系统烧录
香橙派官方提供了用户手册,有三个系统安装的位置,分别是PXE、eMMC和NVMe,由于最后一种采用SSD,因此这里推荐,同时也是当前的使用方式。
首先从网上购买2280规格NVMe SSD,M.2接口,PCIe3.0x4。购买硬盘盒,将SSD放入硬盘盒连接电脑。下载用于烧录Linux 镜像的软件balenaEtcher,下载地址https://www.balena.io/etcher/,下载Portable 版本无需安装。使用balenaEtcher 烧录Linux 镜像,a. 首先选择要烧录的Linux 镜像文件的路径。b. 然后选择NVMe 硬盘的盘符。c. 最后点击Flash 就会开始烧录Linux 镜像到NVMe 硬盘中。成功烧录后退出balenaEtcher。把NVMe SSD 插入开发板的M.2 接口中,固定好。此时插入电源就可以启动SSD 中的Linux 系统了。注意,启动系统前请确保拨码开关拨到了SSD启动位置。
开发板启动:将烧录好镜像的eMMC 模块或者SSD 插入开发板对应的插槽中。然后将拨码开关拨到正确的位置。如果想显示Linux 系统的桌面,可以将开发板的HDMI 接口连接到HDMI 显示器。开发板有USB 接口,可以接上USB 鼠标和键盘,来控制开发板。开发板有两个千兆以太网口,可以插入网线用来上网。然后需要连接一个12V 10A-120W 的DC 电源适配器。然后打开电源适配器的开关,如果一切正常,等待一段时间后,HDMI 显示器就能看到Linux 系统的登录界面了。当看到登录界面时,就可以使用下面的账号和密码来登录Linux 系统了。
| 账号 | 密码 |
|---|---|
| root | orangepi |
| HwHiAiUser | orangepi |
安装好系统后,需要进行一些简单的配置,假如我们使用128G的SSD安装系统,烧录完之后默认只会使用16G的空间,其余空间未分配,因此需要将主分区扩容,进入安装好的openeuler系统,sudo dnf install gnome-disk-utlity安装disk管理图形化工具,然后点击主分区进行resize,将后面的分区扩容至主分区。如果遇到问题,上网查询,这主要是由于主分区和待扩容部分的分区表冲突导致的,执行几行命令即可。
此外还有一些配置,比如linux的ctrl+alt+t调出terminal、输入法等配置可按照习惯配置。
二、深度学习环境配置
1.NPU驱动
香橙派AI Station只能使用香橙派提供的NPU驱动包,请务必从香橙派的资料下载页面下载对应的NPU驱动包。不要从昇腾社区或其他地方下载NPU驱动包。
首先在OPi AI Station 资料下载页面的固件和驱动中下载NPU 驱动包。驱动包版本可能有变化,这个是正常的,请重点确保下载的包是以Ascend-hdk-310p-npu-driver 开头的Ascend-hdk-310p-npu-driver_7.6.t7.0.b053_linux-aarch64_opiaistation_260105.run。然后将NPU 驱动包使用SSH 或者U 盘上传到开发板中。然后使用下面的命令开始安装NPU 驱动包,请记得将NPU 驱动包的名字替换为实际的名字,不要照抄。chmod +x Ascend-hdk-310p-npu-driver_7.6.t7.0.b053_linux-aarch64_opiaistation_260105.run和./Ascend-hdk-310p-npu-driver_7.6.t7.0.b053_linux-aarch64_opiaistation_260105.run --full。NPU 驱动包安装完成后请重启下系统。
2.CANN软件包
在现有开发板环境下,需要安装8.5.0 及之后版本的CANN,之前版本的存在一些问题,会导致有些功能无法正常使用。CANN从8.5.0 版本开始文件路径等均发生了比较大的改变。如果想要运行非本手册中的案例,需要注意CANN软件的路径问题。
首先查看当前环境中CANN 软件包的版本,这里我们查询到的就是8.5.0 版本,当然,如果报错,那就说明至少没有在默认路径下安装CANN:ls -lh /usr/local/Ascend/cann。访问昇腾社区的下载页面https://www.hiascend.com/developer/download/community/result?module=pt+cann,选择你需要的CANN 版本,例如8.5.0 社区版本。一般情况下,我们需要下载的是两个包,Ascend-cann-toolkit_8.5.0_linux-aarch64.run和Ascend-cann-310p-ops_8.5.0_linux-aarch64.run。下载完成后,将其上传到开发板,然后执行下面的命令安装,记得将文件名替换成你实际下载的文件名。等其运行完成就行,一般需要半小时左右。chmod +x Ascend-cann*、./Ascend-cann-toolkit_8.5.0_linux-aarch64.run -q --install --install-for-all和./Ascend-cann-310p-ops_8.5.0_linux-aarch64.run -q --install。测试int8 算力的命令如下所示,正常应为176TOPS,echo Y | ascend-dmi -f -d 0 --et 60 -t int8。
3.miniforge和Pytorch
参考网上教程通过wget下载并安装miniforge虚拟环境,通过conda create -n ai_ran python=3.9创建环境,激活环境,进入华为昇腾官网https://www.hiascend.com/developer/download,第二步骤中安装的是系统的CANN包,但由于不同的软件版本需要不同的CANN,因此现在在虚拟环境中安装。进入CANN,选择版本8.5.0、推理系列产品、AArch64、openEuler、在线安装conda,按照官网提供的命令,安装toolkit、ops并验证。在安装过程中,会出现一些报错,有关缺失部分软件包,只需要conda安装即可。进入PyTorch,华为的昇腾系列芯片不是原生支持PyTorch,因此需要安装插件,Ascend Extension for PyTorch(即torch_npu插件)是基于昇腾的深度学习适配框架,使昇腾NPU可以支持PyTorch框架,为PyTorch框架的使用者提供昇腾AI处理器的超强算力。安装Ascend Extension for PyTorch前,需配套在环境中安装好CANN。选择版本7.3.0,CANN版本8.5.0,PyTorch版本2.6.0,Python版本3.9,CPU架构AArch64,操作系统openEuler,离线安装。根据指令安装PyTorch、torch_npu插件,安装过程中报错都是有关缺乏某些python包,conda安装即可。在安装后验证过程中,除了报一些缺乏python包的错误,这种直接conda安装即可,还会报缺乏某些标准C++库,这是因为在华为的昇腾上使用PyTorch时,执行逻辑是将PyTorch通过torch_npu,运行转换为CANN算子,最后放在昇腾上运行,在PyTorch转CANN算子过程中,需要进行编译。因此需要通过sudo dnf install gcc-c++ -y安装g++,通过g++ --version查看版本,如果能读取说明已经自动添加到环境变量中。最后再进行PyTorch的测试,如果通过则表示环境安装成功。
