之前使用过双系统、虚拟机的ubunutu
效果都不是很好,要么切换系统太麻烦,要么太卡顿
最近在尝试WSL子系统,没有想到还是有很多坑
记录一下配置的过程
一、NVIDIA显卡的安装
因为WSL和Windows的显卡驱动不能互通,所以在子系统上需要重新下载驱动
先查看Windows的显卡配置,在Windows终端中的指令为:
nvidia-smi
根据这个去NVIDIA官网下载对应的驱动Official Drivers | NVIDIA
更具体的操作参考Linux安装显卡驱动、annaconda和CUDA(超详细)-CSDN博客
二、Pytorch的下载
2.1 下载Anaconda3
一般采用wget方式直接从linux拉取较稳定的旧版本,然后在本地安装,替换指令中的版本号即可
wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
bash Anaconda3-5.2.0-Linux-x86_64.sh
2.2 构建虚拟环境
需要对照pytorch\python的版本对应关系,确定兼容性比较强的Python版本,一般3.8、3.9最常用
conda create -n py_gpu python=3.8.5
2.3 下载pytorch
最方便的方法就是通过官网的指令下载,一般推荐使用conda下载,根据自己的系统、CUDA版本生成指令,官网链接Start Locally | PyTorch
默认的官网下载源会比较慢,两步加速:
#1.取消默认官网下载
在生成的下载指令中删除"-c pytorch"
#2.添加国内镜像源
config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
全部下载完成以后,进入虚拟环境测试:
conda activate py_gpu
#看一下pytorch能不能用
#注意测试指令中都用的是"torch"
python
import torch
#不报错说明torch安装成功
torch.cuda.is_available()
#返回 TRUE
#说明gpu版本的pytorch可以正常使用
PS.这个过程中一定要注意环境的归属
1.用户:以前没有注意过,默认用户root,还有一个自己取名的用户,可以配置默认打开的用户,要注意anaconda环境配置在哪个用户下,我就是在这里卡了很久,明明安装了anaconda居然找不到。如果使用的不是root用户,可能会出现修改了代码无法保存的情况,需要给对应的工作目录添加用户权限:
sudo chown -R username /path/to/working/directory
2.虚拟环境:anaconda安装好以后会在用户前面显示,一定要注意隔离环境,在具体的虚拟环境下配置pytorch,查看所有虚拟环境指令如下:
conda env list
三、在WSL中打开VScode运行代码
VScode仅需要安装在Windows系统下,安装微软官方推荐的Remote-Development插件就能直接在Windows系统下使用Linux内核运行程序
直接在WSL的终端下输入:
code .
如果打不开,检查一下路径
sudo vim ~/.bashrc
在.bashrc文件最后看一下路径,需要添加:
#根据VScode在本地的下载路径,'mnt'这里是wsl在windows系统下的挂载目录
export PATH="$PATH:/mnt/d/Microsoft\\ VS\\ Code/Code.exe"
alias code='/mnt/d/Microsoft\ VS\ Code/bin/Code'
|
#如果anaconda安装了找不到,也有可能是路径问题,根据具体的路径修改
export PATH=/home/u/anaconda3/bin/:$PATH
#修改了配置要重启文件
source ~/.bashrc
修改文件代码yi'ho
最后调整一下解释器,选择虚拟环境下的python,然后打开终端确认一下环境:
完美解决!撒花!
四、补充WSL可视化桌面端配置
因为WSL默认安装的是终端,需要自己配置桌面,尝试了几种方法以后,终于使用xfce4可以看到可视化桌面了
具体步骤参考WSL2+Ubuntu22.04+图形化界面安装 - 哔哩哔哩
关键的启动代码如下:
#在 Ubuntu 终端中设置 DISPLAY 环境变量:
export DISPLAY=$(awk '/nameserver / {print$2; exit}' /etc/resolv.conf 2>/dev/null):0
#使用sudo 启动 Xfce 会话:
sudo startxfce4
但是仍然有点问题,发现xfce4一段时间没有任何操作以后会卡死,参考WSL2 Ubuntu + Xfce4 一段时间 Xfce4 卡死不动_ubuntu无法启动xfce4-CSDN博客
通过卸载锁屏应用解决问题