当前位置: 首页 > article >正文

WSL2安装Ubuntu22.04并开启GPU进行ML学习教程

文章目录

    • 一 启用 WSL2
    • 二、安装 Ubuntu
    • 三 安装 NVIDIA GPU 驱动和 CUDA 工具
    • 四、安装pytouch运行环境

这几天一直在研究下,怎么在笔记本win11电脑上安装linux系统用于机器学习、深度学习、大模型等相关的研究,前面试了VMWARE、HYPER-V等方式,发现要通过显卡虚化方式,直接调用笔记本独立显卡RTX4060都非常复杂。最后还是选定win11自带的WSL2的方式,部署linux子系统,发现此种方式非常简单,特别在windows和linux交互便利性上,远超vmware和hyper-V,后续会介绍vscode集成wsl方式等,本文介绍下wsl2启用、安装ubuntu、开启GPU及pytouch的过程​。

WSL2(Windows Subsystem for Linux 2)是微软在Windows系统中提供的一种工具,它允许用户在Windows上原生运行完整的Linux内核,从而实现更高效的Linux与Windows系统的兼容和集成。为了进行大模型及相关DSML学习,借助WSL2安装linux系统,并在linux使用显卡进行训练加速,相关配置方法记录。

一 启用 WSL2

首先需要在 Windows 上启用 WSL2。
步骤如下:

  1. 启用 WSL 功能:
    • 右键点击“开始”菜单,选择“Windows PowerShell (管理员)”或“终端 (管理员)”。
    • 输入以下命令启用 WSL 和虚拟机功能:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

以上也可以通过启用关闭windows功能选项进行操作,如下截图中红框的几项勾选好,确定重启系统
启用关闭win功能
选择

  1. 设置 WSL2 为默认版本:
    在 PowerShell 中输入以下命令,将 WSL 2 设置为默认的 WSL 版本:
wsl --set-default-version 2
  1. 安装 Linux 内核更新包:
    wsl --update4. 重启系统

二、安装 Ubuntu

在 WSL2 环境中安装 Ubuntu。
步骤如下:

  1. 在 Microsoft Store 中安装 Ubuntu:
    ◦ 打开 Microsoft Store,搜索“Ubuntu”并选择想要安装的版本(如 Ubuntu-24.04)。
    ◦ 点击获取,等待安装完成即可。
  2. 配置 Ubuntu:
    ◦ 安装完成后,打开 Ubuntu 应用,等待初始化过程。
    ◦ 按提示设置用户名和密码,配置完成后就可以使用 Ubuntu 了

也可在powershell中通过如下命令进行安装(可能需要开梯子)

# 查看包含所有可用发行版和版本的输出
wsl --list --online
# 选择合适的版本进行安装,这里安装的是Ubuntu-24.04
wsl --install -d Ubuntu-24.04

1
2
查看安装进度,安装完成后,通过如下命令查看安装版本

wsl -l -v

添加新用户和密码,即可进入ubuntu终端,退出直接输入exit即可返回powershell

如果要打开 Ubuntu 24.04 终端,请在 PowerShell 中运行以下命令:
ubuntu2404.exe
最好通过在 Ubuntu 终端中运行以下命令来安装最新更新,并在出现提示时输入密码:

$ sudo apt update
$ sudo apt full-upgrade -y

系统升级前,请把系统源替换为国内源,参照:

https://blog.csdn.net/v997282418/article/details/140105030

如果后续要卸载ubuntu,可通过如下命令进行卸载

# 停止 WSL 实例
wsl --shutdown
# 查看已安装的 Linux 发行版: 列出当前已安装的 WSL 发行版:
wsl --list --verbose
# 卸载 Ubuntu: 找到要卸载的 Ubuntu 发行版的名称,然后运行以下命令进行卸载:
wsl --unregister Ubuntu-24.04

三 安装 NVIDIA GPU 驱动和 CUDA 工具

  1. 检查显卡驱动
    为了让 RTX 4060 GPU 在 WSL2 中用于深度学习,需要安装 NVIDIA 驱动和 CUDA 工具包
    注意:在系统上安装 NVIDIA GeForce Game Ready这是您要安装的唯一驱动程序。不要在 WSL 中安装任何 Linux 显示驱动程序。
    GetForce Experience查看自己是否已经安装了NVIDIA GeForce Game Ready,我的宿主机已经安装了相关驱动,因此不需要再安装,可以在ubuntu下输入如下命令进行验证显卡在unbuntu上是否正常
nvidia-smi

我的直接弹出:
1
说明显卡已经正常加载
如果未安装,可通过如下链接选择显卡并下载GeForce Game Ready版本的驱动
https://www.nvidia.cn/drivers/lookup/
2
2. 安装CUDA Toolkit
输入nvidia-smi,找到CUDA Version,我的是12.4,注意选择的CUDA Toolkit一定不能超过cuda的版本,可参照官网的对照表,下载对应的安装包进行安装,下载链接如下:

https://developer.nvidia.com/cuda-toolkit-archive

版本选择:12.4.0,下载选项如下:
1
选择完成后,会生成下载的命令,在ubuntu下执行命令即可完成相关安装。

# 下载安装包
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run
# 安装
sudo sh cuda_12.4.0_550.54.14_linux.run

安装完成后通过nvcc -V命令验证是否安装成功,如果提示命令未找到,修改如下环境变量,把命令路径加入环境变量
执行命令:vim ~/.bashrc
末尾插入如下内容:

export PATH=/usr/local/cuda/bin/:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:$LD_LIBRARY_PATH

执行命令:source ~/.bashrc
之后正常即可运行命令:nvcc -V

四、安装pytouch运行环境

  1. python虚拟运行环境搭建
    通过如下命令,安装Anaconda3
# 下载Anaconda3,这里选择了最新的conda版本
wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
# 安装
bash Anaconda3-2024.06-1-Linux-x86_64.sh -p /home/wangdenuan/apps/anaconda3

输入conda -V查看当前版本
构建python的虚拟环境,这里需要对照pytorch\python的版本对应关系,命令如下:

conda create -n py_gpu python=3.12

执行命令:conda env list,查看创建的虚拟环境
2. 安装pytouch环境
执行如下命令切换到缓冲环境py_gpu:conda activate py_gpu
从下面链接配置pytouch,得到conda安装命令:

https://pytorch.org/get-started/locally/

1
在ubuntu终端下运行安装命令:

conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia

检查 PyTorch 是否正确安装,是否正常启用GPU
在终端下输入:

# 启动python
python
import torch
print(torch.cuda.is_available())
print(torch.cuda.current_device())
print(torch.cuda.get_device_name(0))

验证结果如下:
1


http://www.kler.cn/a/394860.html

相关文章:

  • CSS的综合应用例子(网页制作)
  • 斯坦福泡茶机器人DexCap源码解析:涵盖收集数据、处理数据、模型训练三大阶段
  • sealos部署K8s,安装docker时master节点突然NotReady
  • A029-基于Spring Boot的物流管理系统的设计与实现
  • 传奇996_19——常用函数
  • 亲测有效:Maven3.8.1使用Tomcat8插件启动项目
  • Java NIO 深度解析:构建高效的 I/O 操作
  • WEB3.0介绍
  • 让Git走代理
  • 服务器数据恢复——Ext4文件系统使用fsck后mount不上的数据恢复案例
  • 【网络安全渗透测试零基础入门】之Vulnhub靶场PWNOS: 2.0 多种渗透方法,收藏这一篇就够了!
  • Rust 所有权机制
  • MacBook 下载vscode不能被解压及打开的解决方案
  • Oracle19C AWR报告分析之Instance Efficiency Percentages (Target 100%)
  • A tour of Go - Web Crawler
  • tomcat配合geoserver安装及使用
  • 【Elasticsearch】Elasticsearch集成Spring Boot
  • 7天用Go从零实现分布式缓存GeeCache(学习)(5)
  • 巧妙注入的奥秘:在 Spring 中优雅地使用 List 和 Map
  • 【SpringBoot】20 同步调用、异步调用、异步回调
  • 【学习】【HTML】块级元素,行内元素,行内块级元素
  • macos 搭建自己的git pages
  • awk是一种在 Linux 和 Unix 系统中非常强大且常用的文本处理工具
  • Linux( 权限+特殊权限 图片+大白话)
  • macOS系统下使用SQLark连接达梦数据库
  • flutter插件:录制系统播放的声音