张小白带你在Windows11 预览版的WSL上玩转MindSpore 1.3.0(GPU版)
本文来自于对论坛帖( https://bbs.huaweicloud.com/forum/thread-146553-1-1.html )的整理。
如何在Windows上使用MindSpore GPU版本?这对MindSpore团队和MindSpore的开发者来说,一直是个灵魂拷问。。。
张小白不由得想起去年的这两篇文字:
https://bbs.huaweicloud.com/forum/thread-82598-1-1.html
https://bbs.huaweicloud.com/forum/thread-83076-1-1.html
饭饭大侠和菲菲大侠早就对这个情形做了尝试,所以张小白这篇,也只是对上述两篇文字做了一点验证而已。。。可能技术含量并不高,请见谅。
首先要看一下被安装的软硬件,这里,张小白提供了2种机型:
Thinkpad P52 ,原来安装的是Windows 10专业版:
暗影精灵7Plus,原来装的是Windows 10家庭版:
开通Windows预览体验计划
先需要到 https://insider.windows.com/zh-cn/getting-started#flight 这里申请开通 预览权限。
开通时记得使用自己的windows登录用户登录进入开通。
注册成功后,点击下面的 “Windows预览体验计划”的链接
可以进入设置界面:
这里有个小插曲,首先,
在开始预览计划的时候,上面的页面并不会出来dev渠道,而是出现 报错0x0
搜索 https://hdbl.net/post/120.html 下载注册表文件,打开导入,会出现
Release版本而非Dev版本。
但是饭饭和菲菲两位大大说了,必须用Dev渠道。只好再次搜索,这次在B站搜到解决方案:
https://www.bilibili.com/video/BV1zB4y1K7TK/?spm_id_from=autoNext
照此执行,果然出现了以上页面。
下载并安装Windows11预览版
在前面的页面中点击Windows更新,会发现和自动下载Windows 11预览版的包:
耐心等待下载完毕,会自动安装:
耐心等待安装完毕,会自动重启(可能是多次)
就会进入Windows11的预览版页面:
安装 NVIDIA Drivers for CUDA on WSL
打开 https://developer.nvidia.com/cuda/wsl/download
下载完毕后,点击安装:
安装完毕后,可能会自动启动Nvidia GeForce Experience:
暂时不用管它,关闭即可。
启用WSL和虚拟机平台:
打开控制面板:
启用以下两项:
重启即可。
下载并安装WSL2的Linux内核更新包:
打开 WSL网页:
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
执行步骤4:
下载内核更新包并执行:
到PowerShell中激活WSL2
wsl --set-default-version 2
安装Ubuntu 18.04
打开microsoft store:
安装ubuntu 18.04,安装完毕后打开:
输入用户名密码ascend/ascend...
确认wsl内核版本:
uname -a
安装docker
curl https://get.docker.com | sh
安装nvidia-docker2
(这个步骤比较长。。。)
根据
https://gitee.com/mindspore/mindspore?_from=gitee_search#docker%E9%95%9C%E5%83%8F
安装nvidia-docker2
DISTRIBUTION=$(. /etc/os-release; echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | apt-key add -
结果执行到第2行报错了,试了几次都不行·。
根据以下文档:
https://www.cnblogs.com/jimchen1218/p/14186262.html
替换阿里云apt源:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vi /etc/apt/sources.list
sudo apt-get update
sudo curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
lsb_release -cs
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
apt-cache policy docker-ce
sudo service docker start
sudo docker run hello-world
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu18.04/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime
sudo apt-get install nvidia-docker2
sudo pkill -SIGHUP dockerd
拖取mindspore 1.3镜像
sudo docker pull mindspore/mindspore-gpu:1.3.0
。。。时间有点长...
运行Mindspore 1.3.0的docker,执行GPU验证
sudo docker run -it -v /dev/shm:/dev/shm --runtime=nvidia --privileged=true mindspore/mindspore-gpu:1.3.0 /bin/bash
准备test.py脚本并执行:
import numpy as np
import mindspore.context as context
from mindspore import Tensor
from mindspore.ops import functional as F
context.set_context(mode=context.PYNATIVE_MODE, device_target="GPU")
x = Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(F.tensor_add(x, y))
python test.py
由上可见,Nvidia的GPU已被成功调用。
典型问题处理:
1.如果遇到 docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
可以执行:
sudo service docker start
2.如果docker pull的时候报 unauthorized
可以重新下载试试。
如果还是不行,可以试试以下的方法:
sudo apt install ntp
sudo apt install ntpdate
sudo ntpdate pool.ntp.org
重新 sudo docker pull mindspore/mindspore-gpu:1.3.0
...
...
以上处理对Nvidia的 GeForce显卡和Quardo显卡都是可以的。(幸好张小白居然有两种Nvidia的显卡)
最后感谢 @ML饭 和 @芳菲菲兮满堂 两位大大的安装参考文档。
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)