本文为 HinGwenWoong 原创,如果这篇文章对您有帮助,欢迎转载,转载请阅读文末的【授权须知】,感谢您对 HinGwenWoong 文章的认可!
我们在开发深度学习项目的时候,经常出现对 Linux
友好但是对 Windows
不是完全支持的情况,但是装双系统之后,文件不能共享,这就比较烦恼;如果使用虚拟机,读取不了显卡也比较头痛。
值得兴奋的是,Win10
现在出了 WSL
,就是 Windows
下的子系统,将 Linux
生态也并进来了,使用 WSL
可以快速搭建一个 Linux
子系统并且完美运行 cuda
,一个字:爽!
下面就一起来搭建吧!
我是 HinGwenWoong,一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,码字不易,如果帮到您,请帮我在屏幕下方点赞 ,您的点赞可以让技术传播得更远更广,谢谢!
启用适用于 Linux
的 Windows
子系统,以管理员身份打开 PowerShell
,然后输入以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
启用虚拟机功能
安装 WSL 2
之前,必须启用【虚拟机平台】的功能,因为计算机需要虚拟化功能才能使用此功能。
以管理员身份打开 PowerShell
并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
执行之后,重新启动计算机,以完成 WSL
的安装并更新到 WSL 2
。
将 WSL 2
设置为默认版本:
打开 PowerShell
,然后运行以下命令,将 WSL 2
设置为默认版本:
wsl --set-default-version 2
使用 Windows 商店
安装 Ubuntu
:商店传送门
在上方搜索:Ubuntu
,会出现多个版本,选择你需要的版本,这里选择 18.04
第一次需要手动启动,初始化用户名、密码那些
使用命令检查下内核版本号,推荐 5.10.16.3
以及之后的版本
uname -r
如果版本太低,使用命令进行升级
wsl.exe --update
更换 Ubuntu 的镜像源为阿里,打开 /etc/apt/sources.list
,在开头加上:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
终端输入 sudo apt-get update
更新镜像源
强烈建议安装 Windows Terminal
,超级好用,Windows 商店传送门
在 Ubuntu 子系统中,跟着给出的命令,一套带走:
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.5.1/local_installers/cuda-repo-wsl-ubuntu-11-5-local_11.5.1-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-5-local_11.5.1-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-5-local/7fa2af80.pub
sudo apt-get update
sudo apt-get -y install cuda
将 cuda 加入环境变量
vim ~/.bashrc
加入以下内容:(前提是 CUDA 安装在默认位置)
# cuda
export CUDA_HOME=/usr/local/cuda
export PATH=${CUDA_HOME}/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${CUDA_HOME}/lib64
修改之后,保存退出,更新下就行
source ~/.bashrc
使用 nvcc
命令可以看到 CUDA 信息
nvcc -V
使用官方的例子进行测试
cd ${CUDA_HOME}/samples/4_Finance/BlackScholes
./BlackScholes
可能出现的错误:
安装完之后,使用官方例子出现错误
CUDA error at ../../common/inc/helper_cuda.h:779 code=35(cudaErrorInsufficientDriver) "cudaGetDeviceCount(&device_count)"
升级系统!!!! 我升级到 21H2
就可以了
成功!
使用清华镜像站进行下载,命令:
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh
进行 conda 初始化
conda init
检查 conda 的环境变量:
vim ~/.bashrc
看到以下信息即可视为成功:
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(<conda 安装路径>/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/etc/profile.d/conda.sh" ]; then
. "/etc/profile.d/conda.sh"
else
export PATH="/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
切换 Conda 镜像源:
可以参考我的一篇文章:Conda 下载慢? 一招帮你解决!
至此,已全部完成,下面是配置 cudnn
和 torch2trt
的环境,如果不需要则跳过
conda install cudatoolkit=XX.XX.XX
conda install cudnn
TensorRT
的时候出现一直找不到:ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory
sudo find / -name libcudnn.so.8
寻找 cudnn 的安装路径:~/.bashrc
中加入:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/hingwenwoong/miniconda3/pkgs/cudnn-8.2.1-cuda11.3_0/lib
source ~/.bashrc
,再次测试:以上就是使用 PyCharm+WSL2+CUDA搭建Windows开发环境 的方法了,感谢您看到这里,希望能够帮助你快速搭建 windows 开发环境
参考文章:
作者:HinGwenWoong
一个有着清晰目标不停奋斗的程序猿,热爱技术,喜欢分享,共同进步!
CSDN: HinGwenWoong
原文链接:深度学习 | 还在用双系统?一文教你PyCharm+WSL2+CUDA搭建开发环境