1.打开子系统选项:控制面板->程序->启用或关闭windows功能(虚拟机相关的功能要开启,包括bios中的虚拟平台)
2.启用虚拟平台功能,并升级WSL2!!!!!
(这个很重要!!!!)执行完下述方式再查看一边wsl -l -v
# 打开powershell,查看wsl的版本以及挂载
wsl -l -v
#默认挂载
wsl --set-default-version 2
#如果上一步发现ubuntu用的是1,那么就使用指定方式
wsl --set-version 分发版名称 版本号
// 例:wsl --set-version Ubuntu 2
3.打开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
查看wsl2版本,一定要5.10.16.3以上!!!
win10 一定要升级到21H2版本的!
wsl cat /proc/version
4.可安装window Terminal(微软商店,方便切换子系统)
5.Nvidia-WSL驱动(目前已经集成在显卡驱动中,没更新过英伟达驱动的的更新下驱动,或者重新安装下驱动,内部会集成Nvidia-WSL驱动)
6.Ubuntu安装驱动,选择版本:
anCUDA Toolkit 11.7 Update 1 Downloads | NVIDIA DeveloperResources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a BugTarball and Zip Archive Deliverableshttps://developer.nvidia.cn/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local
在Ubuntu中按照命令更新:
7.将cuda加入到环境变量(默认位置安装)
vim ~/.bashrc
# 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 -V查看cuda信息(如果报错,记得更新系统到21H2)
nvcc -V
8.使用清华源安装miniconda
wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh
sudo chmod +x Miniconda3-latest-Linux-x86_64.sh
sudo ./Miniconda3-latest-Linux-x86_64.sh
一路yes
# conda初始化
conda init
# 查看conda环境变量
vim ~/.bashrc
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$(/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 <<<
9.安装torch测试
import torch
torch.cuda.is_available()
显示为True则成功
10.链接pycharm
在python解释器中添加WSL(选择你的ubuntu的虚拟环境的python.exe路径)
(专业版--俺还没搞,搞到后面再更新吧)
----------------------------------------------------------更新------------------------------------
在Terminal输入bash,进入ubuntu环境,然后conda activate xxx进入你创建的conda虚拟环境。
在pycharm控制台(或者ubuntu终端)测试步骤9,显示为True则成功
----------------------------------------------------------再更新-------------------------------------------
miniconda装好之后,可以为虚拟环境指定conda
首先激活虚拟环境 pytorch,输出当前环境的路径
conda activate pytorch
echo ${CONDA_PREFIX}
得到路径, for example:/home/username/anaconda3/envs/pytorch
#建立激活环境下的文件夹
mkdir -p /home/username/anaconda3/envs/pytorch/etc/conda/activate.d
#写入脚本
vi /home/username/anaconda3/envs/pytorch/etc/conda/activate.d/activate.sh
内容如下:
ORIGINAL_CUDA_HOME=$CUDA_HOME
ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-11.2
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
#建立退出环境下的文件夹
mkdir -p /home/username/anaconda3/envs/pytorch/etc/conda/deactivate.d
#写入脚本
vi /home/username/anaconda3/envs/pytorch/etc/conda/deactivate.d/deactivate.sh
内容如下:
export CUDA_HOME=$ORIGINAL_CUDA_HOME
export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
unset ORIGINAL_CUDA_HOME
unset ORIGINAL_LD_LIBRARY_PATH
测试
在本机环境下查看
echo $CUDA_HOME
#为你的本机环境cuda路径:/usr/local/cuda-11.7
激活环境后
echo $CUDA_HOME
结果为/usr/local/cuda-11.2
搞定!
使用nvcc -V和nvidia-smi显示的cuda版本不对应该是没问题,只要echo $CUDA_HOME的结果为你的cuda-11.2路径就好(Maybe,可以试一下,如果后续证实没问题会更新~)