完成一和二,可用VS Code连接WSL,进行开发(train的速度略快于Widnows)
完成一和三,可用VS Code连接WSL,在Docker中开发或运行别人的代码(一般运行别人代码,或基于镜像进行二次开发)?
打开控制面板,找到下图,点击“程序”
点击“启用或关闭Windows功能”
启用3个Windows功能,如下图
启用以上三个Windows功能,若没有Hyper-V,则根据以下步骤添加
在桌面新建一个文本文件,将下面的程序复制进去,之后修改文件后缀名为.bat
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
最终效果如下图,双击运行即可。
打开Microsoft Store,搜索Ubuntu,安装即可。
之后启动刚才下载的ubuntu
若出现报错0x800701bc
则点击下面的链接,下载WSL更新包
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
下完后双击运行wsl_update_x64.msi即可。
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
之后再次运行Ubuntu,按照要求输入用户名和密码即可(密码不会显示,别误认为自己输错了)
我的显卡是GeForce GTX 1050 Ti,电脑自带CUDA驱动版本是11.1。如下图
建议升级到新版驱动,这样的话,就无需在WSL中安装NVIDIA驱动,直接就能使用。升级驱动后,如下图
进入下載 GeForce Experience | NVIDIA
下载GeForce Experience,之后下载可用的最新的驱动
之后打开windows的cmd,执行nvidia-smi查看当前CUDA驱动版本
nvidia-smi
打开WSL,执行nvidia-smi。WSL中应该也能看到相同的结果。
在WSL中执行如下命令(主要是安装gcc,否则下一步的安装无法进行)
sudo apt-get update #更新软件列表
sudo apt-get install build-essential #安装必备的工具包
进入CUDA Toolkit 12.3 Update 2 Downloads | NVIDIA Developer
下载CUDA ToolKit,要与上面的CUDA Version对应,历史版本见下图
找到正确的版本后,在WSL中,输入命令即可
命令1:下载.sh文件
命令2:运行sh文件(都按照默认设置安装即可)
第一个界面输入accept
第二个界面找install
执行如下指令,添加环境变量。注意:要修改为自己安装的cuda版本,我这里是cuda-12.3
(建议将这2条加入linux系统环境变量,否则系统重启后,环境变量就没了,上网搜索即可。若加入系统变量,要先重启,才会生效)
export PATH="/usr/local/cuda-12.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-12.3/lib64:$LD_LIBRARY_PATH"
执行nvcc -V,得到如下结果,则成功
在官网找到下载链接,用wget下载.sh文件
wget 下载链接
之后运行.sh文件,安装anaconda
在conda prompt中执行如下命令,创建虚拟环境
conda create -n torch_gpu python=3.9
在pytorch官网找到对应命令,在虚拟环境下执行即可(根据自己的需要,找版本,安装的cuda版本不能高于机器中CUDA Version。我的机器CUDA Version是12.3,所以安装的cu116(cuda 11.6)没毛病)
以本地环境为基础,找到Docker镜像,从而创建一个独立的环境。
直接下载Docker Desktop并安装。
有问题参考这篇即可解决在Windows11上新安装的Docker Desktop一直显示"starting the Docker Engine"登录不上去的问题 - 知乎 (zhihu.com)
配置1:
配置2:
前面我们看到了我们的CUDA Version为12.3版本。
进入https://hub.docker.com/r/nvidia/cuda/tags/
输入CUDA Version
找到对应的镜像,复制命令,在WSL中执行。
在WSL中执行
安装好后,用sudo docker images查看刚才拉取的镜像
sudo docker images
上面的镜像已经有了基础驱动,我们只需要自己安装python环境即可
步骤:
旧版 WSL 的手动安装步骤 | Microsoft Learn
1. NVIDIA GPU Accelerated Computing on WSL 2 — CUDA on WSL 12.3 documentation
Docker Desktop WSL 2 backend on Windows | Docker Docs在WSL 2中配置Cuda以及gpu版本的pytorch(2022最新版) - 知乎