IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 【MindSpore易点通·漫游世界】在WSL的Ubuntu 22.04上一键安装MindSpore GPU 1.7.0踩坑记 -> 正文阅读

[系统运维]【MindSpore易点通·漫游世界】在WSL的Ubuntu 22.04上一键安装MindSpore GPU 1.7.0踩坑记

近期张小白的周边发生了如下大事:

(1)2022年4月,ubuntu推出22.04版本。

(2)MindSpore推出自动安装脚本

(3)张小白写过?【MindSpore易点通·漫游世界】在WSL的Ubuntu 20.04上一键安装MindSpore GPU 1.6.1_张小白TWO的博客-CSDN博客

(4)MindSpore推出 1.7.0版本。

所以,张小白打算使用WSL的ubuntu 22.04自动安装MindSpore GPU 1.7.0版本。


先安装WSL ubuntu 22.04版本,其实这个安装过程跟安装 WSL的ubuntu 20.04版本类似。

(1)使用Microsoft Store安装 ubuntu 22.04 LTS:

点击“打开”,这次的方式好像略有变化,因为多了很多配置界面:

选择语言:

输入用户名和密码:zhanghui/zhanghui

点击Finish:

这个执行可以先执行前面提示要运行的语句:

sudo apt update

sudo apt upgrade

(2)使用move-wsl将ubuntu 22.04移动到E盘:

使用管理员打开 PowerShell:

下载move-wsl工具:

git clone?https://github.com/pxlrbt/move-wsl.git

停止wsl运行:

wsl --shutdown

确认ubuntu的窗口已被关闭。

cd move-wsl

执行:.\move-wsl.ps1

如遇到以下执行报错:

可输入 set-ExecutionPolicy RemoteSigned 解决:

将ubuntu 22.04移动到E盘:

(3)打开MindSpore官网:MindSpore官网

按如下方式选择:

查看下面的自动安装说明:

打开WSL的ubuntu 22.04

nvidia-smi

nvidia版本为 472.91,满足要求。

获取安装脚本:

wget?https://gitee.com/mindspore/mindspore/raw/r1.7/scripts/install/ubuntu-gpu-pip.sh

PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

经过咨询 马老师,需下载maste分支的脚本:

wget?https://gitee.com/mindspore/mindspore/raw/master/scripts/install/ubuntu-gpu-pip.sh

重新执行:

PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

看来只有魔改shell了,将ubuntu-gpu-pip.sh中的gcc-7改为gcc-9

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

。。。

。。。

。。。

这里已经开始装cuda11.1了

要耐心等待下。。

下载完毕,开始安装了。。。。

检查gcc出错。。。

vi /var/log/cuda-installer.log

不是让它装gcc-9吗?怎么变成了gcc 11.2的版本?

只好手工改下:

cd /usr/bin

sudo mv gcc gcc11

sudo ln -s gcc-9 gcc

cd

gcc --version

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

它居然要重新下载cuda的安装盘。赶紧去把shell中的wget语句注释掉。。。再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

它应该在静默安装CUDA和cuDNN。。

这个pub找不到,去?Index of /compute/cuda/repos/ubuntu2204/x86_64?看看:

确实名字不对,应该叫:3bf863cc.pub

修改shell:

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

。。。

这应该是可以了吧。按回车继续:

再按回车继续:

好像没那么简单。。。

查看nvidia的仓库:Index of /compute/machine-learning/repos

好像nvidia的ml仓库都木有做适配ubuntu 2204的版本。

如果注释掉machine-learning这一行会发生什么事情呢?

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

哦,原来是无法安装cuDNN8.

那我们只好到官网手工下载cuDNN8的zip包了。

打开?cuDNN Archive

第一个链接好像就是 cuDNN 8.4.0 for CUDA 11.x

看看能不能下载下来:

将其拷贝到WSL的ubuntu 22.04的服务器中:

cp /mnt/c/users/xishu/Downloads/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz .

解压:

xz -d cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz

tar xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar

将CuDNN解压后的include和lib64下的文件分别拷贝到 /usr/local/cuda/的 include和lib64目录下去:

cd /usr/local/cuda/

sudo cp ~/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/include/* ./include/

sudo cp ~/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/lib/* ./lib64/

再跑一键脚本之前,先注释掉安装cudnn的那行:

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

好像终于到了安装MindSpore的whl包这一步了。。

耐心等待安装结束:

这里还会有点慢:

但是最终还是能出来全是2的运算结果,说明MindSpore GPU版还是安装成功的。

总结一下在ubuntu 22.04上一键安装脚本出现的几个问题:

1.官网的教程命令对应的脚本不支持wsl,需要下载master分支的脚本

2.ubuntu 22.04无法直接安装gcc-7,需改为gcc-9.

3.即便改完gcc-9,代码不知怎的,还把gcc-11给装起来了,所以要去/usr/bin下将gcc指向gcc-9

4.如果脚本运行出错,重新运行会反复下载cuda toolkit的3G大小的安装包,脚本可以先判断下文件是否存在(且满足大小要求,如果满足则可以不下载了直接跑后面的命令。

5.ubuntu 2204的cuda的apt公钥文件名称跟 18.04不一样。需要修改为?3bf863cc.pub

6.由于nvidia官网尚未把cudnn放入ubuntu 2204的machine learning代码仓,所以无法直接通过增加apt源的方式安装cudnn,目前暂时只能手工安(JIE)装(YA)。

其它吗,,,一切顺利。。。LOL

(全文完,谢谢阅读)

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-04 23:22:23  更:2022-07-04 23:24:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 19:47:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码