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

2024-06-10 23:20

本文主要是介绍在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博客
通过卸载锁屏应用解决问题
 

这篇关于在WSL2下配置Pytorch(Linux+Anaconda+PyTorch-GPU)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049560

相关文章

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

mysql5.7.15winx64配置全过程

《mysql5.7.15winx64配置全过程》文章详细介绍了MySQL5.7.15免安装版的配置步骤,包括解压安装包、设置环境变量、修改配置文件、初始化数据目录、安装服务、启动数据库、登录及密码修改... 目录前言一、首先下载安装包二、安android装步骤1.第一步解压文件2.配置环境变量3.复制my-

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Linux查询服务器系统版本号的多种方法

《Linux查询服务器系统版本号的多种方法》在Linux系统管理和维护工作中,了解当前操作系统的版本信息是最基础也是最重要的操作之一,系统版本不仅关系到软件兼容性、安全更新策略,还直接影响到故障排查和... 目录一、引言:系统版本查询的重要性二、基础命令解析:cat /etc/Centos-release详

Conda国内镜像源及配置过程

《Conda国内镜像源及配置过程》文章介绍Conda镜像源使用方法,涵盖临时指定单个/多个源、永久配置及恢复默认设置,同时说明main(官方稳定)、free(逐渐弃用)、conda-forge(社区更... 目录一、Conda国内镜像源二、Conda临时使用镜像源指定单个源临时指定多个源创建环境时临时指定源

Linux grep 命令的使用指南

《Linuxgrep命令的使用指南》本文给大家介绍Linuxgrep命令的使用指南,包括基础搜索语法、实践指南,感兴趣的朋友跟随小编一起看看吧... 目录linux grep 命令全面使用指南一、基础搜索语法1. 基本文本搜索2. 多文件搜索二、常用选项详解1. 输出控制选项2. 上下文控制选项三、正则表达