張小白帶你在Windows11 預(yù)覽版的WSL上玩轉(zhuǎn)MindSpore 1.3.0(GPU版)
本文來自于對論壇帖( https://bbs.huaweicloud.com/forum/thread-146553-1-1.html )的整理。

如何在Windows上使用MindSpore GPU版本?這對MindSpore團(tuán)隊(duì)和MindSpore的開發(fā)者來說,一直是個(gè)靈魂拷問。。。
張小白不由得想起去年的這兩篇文字:
https://bbs.huaweicloud.com/forum/thread-82598-1-1.html
https://bbs.huaweicloud.com/forum/thread-83076-1-1.html
飯飯大俠和菲菲大俠早就對這個(gè)情形做了嘗試,所以張小白這篇,也只是對上述兩篇文字做了一點(diǎn)驗(yàn)證而已。。。可能技術(shù)含量并不高,請見諒。
首先要看一下被安裝的軟硬件,這里,張小白提供了2種機(jī)型:
Thinkpad P52 ,原來安裝的是Windows 10專業(yè)版:
暗影精靈7Plus,原來裝的是Windows 10家庭版:
開通Windows預(yù)覽體驗(yàn)計(jì)劃
先需要到 https://insider.windows.com/zh-cn/getting-started#flight 這里申請開通 預(yù)覽權(quán)限。
開通時(shí)記得使用自己的windows登錄用戶登錄進(jìn)入開通。
注冊成功后,點(diǎn)擊下面的 “Windows預(yù)覽體驗(yàn)計(jì)劃”的鏈接
可以進(jìn)入設(shè)置界面:
這里有個(gè)小插曲,首先,
在開始預(yù)覽計(jì)劃的時(shí)候,上面的頁面并不會出來dev渠道,而是出現(xiàn) 報(bào)錯(cuò)0x0
搜索 https://hdbl.net/post/120.html 下載注冊表文件,打開導(dǎo)入,會出現(xiàn)
Release版本而非Dev版本。
但是飯飯和菲菲兩位大大說了,必須用Dev渠道。只好再次搜索,這次在B站搜到解決方案:
https://www.bilibili.com/video/BV1zB4y1K7TK/?spm_id_from=autoNext
照此執(zhí)行,果然出現(xiàn)了以上頁面。
下載并安裝Windows11預(yù)覽版
在前面的頁面中點(diǎn)擊Windows更新,會發(fā)現(xiàn)和自動(dòng)下載Windows 11預(yù)覽版的包:
耐心等待下載完畢,會自動(dòng)安裝:
耐心等待安裝完畢,會自動(dòng)重啟(可能是多次)
就會進(jìn)入Windows11的預(yù)覽版頁面:
安裝 NVIDIA Drivers for CUDA on WSL
打開 https://developer.nvidia.com/cuda/wsl/download
下載完畢后,點(diǎn)擊安裝:
安裝完畢后,可能會自動(dòng)啟動(dòng)Nvidia GeForce Experience:
暫時(shí)不用管它,關(guān)閉即可。
啟用WSL和虛擬機(jī)平臺:
打開控制面板:
啟用以下兩項(xiàng):
重啟即可。
下載并安裝WSL2的Linux內(nèi)核更新包:
打開 WSL網(wǎng)頁:
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
執(zhí)行步驟4:
下載內(nèi)核更新包并執(zhí)行:
到PowerShell中激活WSL2
wsl --set-default-version 2
安裝Ubuntu 18.04
打開microsoft store:
安裝ubuntu 18.04,安裝完畢后打開:
輸入用戶名密碼ascend/ascend...
確認(rèn)wsl內(nèi)核版本:
uname -a
安裝docker
curl https://get.docker.com | sh
安裝nvidia-docker2
(這個(gè)步驟比較長。。。)
根據(jù)
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 -
結(jié)果執(zhí)行到第2行報(bào)錯(cuò)了,試了幾次都不行·。
根據(jù)以下文檔:
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
。。。時(shí)間有點(diǎn)長...
運(yùn)行Mindspore 1.3.0的docker,執(zhí)行GPU驗(yàn)證
sudo docker run -it -v /dev/shm:/dev/shm --runtime=nvidia --privileged=true mindspore/mindspore-gpu:1.3.0 /bin/bash
準(zhǔn)備test.py腳本并執(zhí)行:
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已被成功調(diào)用。
典型問題處理:
1.如果遇到 docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
可以執(zhí)行:
sudo service docker start
2.如果docker pull的時(shí)候報(bào) 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飯 和 @芳菲菲兮滿堂 兩位大大的安裝參考文檔。
(全文完,謝謝閱讀)
GPU加速云服務(wù)器 MindSpore Windows 昇騰 深度學(xué)習(xí)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。