在WSL2下配置Pytorch(Linux+Anaconda+PyTorch-GPU)

之前使用过双系统、虚拟机的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的终端下输入\displaystyle

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博客
通过卸载锁屏应用解决问题
 

相关推荐

  1. WSL2 Ubuntu检测 不到GPU驱动,无法使用GPU

    2024-06-11 04:00:02       40 阅读
  2. WSL2-Ubuntu-22.04上安装MySQL(deb包)并配置ODBC

    2024-06-11 04:00:02       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 04:00:02       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 04:00:02       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 04:00:02       4 阅读
  4. Python语言-面向对象

    2024-06-11 04:00:02       5 阅读

热门阅读

  1. 算法训练营day52

    2024-06-11 04:00:02       13 阅读
  2. ABSD-系统架构师(七)

    2024-06-11 04:00:02       14 阅读
  3. document.queryselector怎么用

    2024-06-11 04:00:02       17 阅读
  4. Centos7.9部署单节点K8S环境

    2024-06-11 04:00:02       14 阅读
  5. leetcode 40. 组合总和 II

    2024-06-11 04:00:02       19 阅读
  6. Cordova WebView重定向到网站

    2024-06-11 04:00:02       21 阅读
  7. 重写setter方法要小心递归调用

    2024-06-11 04:00:02       8 阅读
  8. 代码随想录打卡第一天(补)

    2024-06-11 04:00:02       14 阅读
  9. web3规则改变者:Linea的厉害之处

    2024-06-11 04:00:02       16 阅读
  10. 什么是 prop drilling,如何避免?

    2024-06-11 04:00:02       15 阅读