Skip to content

使用 wsl2 安装深度学习环境

964字约3分钟

Deep LearningWSL

2024-12-16

开发人员可以通过适用于 Linux 的 Windows 子系统 (WSL),直接在 Windows 上使用 Linux 系统的一切

0.前置配置

0.1 开启CPU虚拟化

打开任务管理器,点击CPU

如果显示 虚拟化:已启用 就是默认开启了,如果显示未启用则需要通过 bios 设置开启

0.2 开启两个windows功能

在任务栏搜索 点击启用或关闭windows功能

勾选如图所示两个框框

配置完可以重启一下电脑

1.安装 linux 子系统

先更新 WSL 内核

wsl --update

使用以下命令安装 Ubuntu

wsl --install -d Ubuntu

查看当前 linux 子系统列表

wsl --list -v

设置默认分发版为 Ubuntu(可选)

wsl --set-default Ubuntu

启动

wsl

2.位置迁移(默认在c盘,建议迁移)

显示目前已安装的子系统

wsl -l

在D盘新建wsl文件夹,并输入以下代码将 ubuntu 备份

wsl --export Ubuntu D:\wsl\Ubuntu.tar

删除子系统

wsl --unregister Ubuntu

恢复子系统

wsl --import Ubuntu D:\wsl D:\wsl\Ubuntu.tar

3.下载 Anaconda

建议下载最新版,我下载 2024.02-1 出现了不知名错误,Anaconda地址

wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
sh Anaconda3-2024.10-1-Linux-x86_64.sh

4.下载 cuda11.8

apt 换源,打开配置文件

sudo vim /etc/apt/sources.list

i进入编辑模式,将原有软件源开头全部用 # 注释掉,然后将以下代码复制进去,然后按esc推出编辑模式,输入:wq保存并退出,

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

更新软件包

sudo apt update

安装 gcc

sudo apt install build-essential

cuda 地址

下载cuda11.8

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

执行上面第二条命令时提示 gcc 不兼容,可以使用 gcc-9

sudo apt install gcc-9 g++-9

设置为默认 gcc 版本

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 100

检查 gcc 版本是否成功切换

gcc --version

编辑环境变量

sudo vim ~/.bashrc

i 进入编辑模式,在末尾将以下代码复制进去,然后按esc推出编辑模式,输入:wq保存并退出

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

刷新环境变量

source  ~/.bashrc

查看cuda是否已经安装成功

nvcc -V

5.安装 cudnn

在wins下载适合的cudnn版本,我使用的是 Download cuDNN v8.9.7 (December 5th, 2023), for CUDA 11.x 中的 Local Installer for Linux x86_64 (Tar)

下好后拖到 wsl 系统即可,进入文件所在目录

解压并复制文件

sudo tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
cd cudnn-linux-x86_64-8.9.7.29_cuda11-archive/
sudo cp -r lib/* /usr/local/cuda-11.8/lib64/
sudo cp -r include/* /usr/local/cuda-11.8/include/
sudo chmod a+r /usr/local/cuda-11.8/lib64/libcudnn*
sudo chmod a+r /usr/local/cuda-11.8/include/cudnn*

验证是否成功安装

cat /usr/local/cuda-11.8/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

6.torch 安装

这部分可参考本博客中特定博文创建 conda 虚拟环境

7.在 VSCode 中连接 WSL

与在 VSCode 中连接远程服务器的方法相同,点击左下角 打开远程窗口,选择 连接到 WSL即可。

tips:

  1. 最好不要在本地 git clone github 的仓库然后拖到 wsl 中,Windows 和 linux 之间的换行符不同,Git 可能会误判某些文件有修改。

  2. 如果 VSCode 里面 git clone 出现网络问题,可以在 win 下使用 cmd 进入 wsl 下载,亲测好用

参考链接:超详细wsl2安装深度学习环境2024最新版(cuda11.8+torch2.2)

Copyright © 2024 AJohn