在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

相关文章

linux hostname设置全过程

《linuxhostname设置全过程》:本文主要介绍linuxhostname设置全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录查询hostname设置步骤其它相关点hostid/etc/hostsEDChina编程A工具license破解注意事项总结以RHE

SQL Server配置管理器无法打开的四种解决方法

《SQLServer配置管理器无法打开的四种解决方法》本文总结了SQLServer配置管理器无法打开的四种解决方法,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录方法一:桌面图标进入方法二:运行窗口进入检查版本号对照表php方法三:查找文件路径方法四:检查 S

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求