Linux系统----WSL安装anconda、cuda创建pytorch学习环境
WSL安装anconda创建pytorch学习环境
前言
安装WSL 2(Windows Subsystem for Linux 2)是因为它为Windows用户提供了一个强大的开发环境,具有以下优点:
-
原生Linux内核支持:WSL 2与WSL 1最大的不同之处在于它使用了真正的Linux内核。这意味着它能够提供更好的性能、更好的兼容性和更多的功能。与模拟Linux系统不同,WSL 2在Windows和Linux之间提供了真正的虚拟化层,因此在WSL 2上运行的Linux发行版可以访问原生Linux内核。
-
更好的性能:由于WSL 2使用了真正的Linux内核,因此通常比WSL 1具有更好的性能。对于诸如文件I/O和网络性能等任务,WSL 2通常表现更出色。
-
更好的兼容性:WSL 2支持更多的Linux系统调用,并且对Linux应用程序的兼容性更高。这意味着您可以运行更多的Linux应用程序,并且它们在WSL 2中的运行方式更接近在原生Linux环境中的运行方式。
-
更好的开发体验:对于开发人员来说,WSL 2提供了一个更接近真实Linux环境的开发环境,这使得在Windows上开发Linux应用程序变得更加容易和舒适。您可以在WSL 2中运行常用的开发工具和命令行实用程序,并且可以使用本地编辑器进行开发,同时可以利用WSL 2提供的Linux环境。
-
更好的生产力:由于WSL 2提供了更好的性能、更好的兼容性和更接近原生Linux的环境,因此它可以提高开发人员的生产力。您可以更快地构建、测试和调试应用程序,并且可以更轻松地在Windows和Linux之间切换。
综上所述,安装WSL 2可以为Windows用户提供一个强大的开发环境,帮助他们更轻松地开发、测试和部署Linux应用程序,并提高他们的生产力和工作效率。
1. 检查开启CPU虚拟化和虚拟机平台
1.1 开启虚拟化
- 打开任务管理器,点击性能,查看CPU虚拟化的状态,默认为禁用,需要进Bios开启:
- 开机按F12或者DEL进入Bios(不同主板可能不一样,请自行查询)
- 点击Advanced Mode (F7)进入高级选项
- 点击Advanced,找到并点击 CPU Configuration
- 下拉菜单找到Intel Virtualization Technology,在其子菜单下把选项改成Enabled
- 按F10保存并推出,CPU虚拟化开启成功。
快捷键查看:ctrl+shift+esc
上面已经开启成功
1.2 开启虚拟机平台
可以直接使用 Windows+R 快捷键,在打开的「运行」窗口中直接执行optionalfeatures
打开「Windows 功能」,或者在控制面板中打开「Windows 功能」启用需要的功能,然后重新启动电脑:
2. 安装ubuntu系统(本文中安装20.04)
2.1 设置默认WSL版本
输入命令行:wsl --set-default-version <Version>
wsl --set-default-version 1
wsl --set-default-version 2
二选一即可,1表示wsl1,2表示wsl2
2.2 安装Linux发行版本
2.2.1 方式一:直接在Microsoft Store安装
2.2.2 方式二:使用命令行安装
- 查看可安装的Linux发行版本
wsl --list --online
输出:
C:\Users\888>wsl --list --online
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。
NAME FRIENDLY NAME
Ubuntu Ubuntu
Debian Debian GNU/Linux
kali-linux Kali Linux Rolling
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
openSUSE-Leap-15.5 openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed openSUSE Tumbleweed
- 指定安装版本:
wsl --install -d <Distribution Name>
将替换成安装的对应版本
输出:
C:\Users\888>wsl --install -d Ubuntu-20.04
正在安装: Ubuntu 20.04 LTS
已安装 Ubuntu 20.04 LTS。
正在启动 Ubuntu 20.04 LTS...
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
···
The list of available updates is more than a week old.
To check for new updates run: sudo apt update
This message is shown once a day. To disable it please create the
/home/amos/.hushlogin file.
- 打开Linux发行版本
wsl -l
输出:
C:\Users\888>wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
- 打开方式:可直接在应用里面点击ubuntu 20.04.4 LTS打开、
3. 安装CUDA
- 输入
nvidia-smi
如果输出结果是:
amos@DESKTOP-K2UHV5L:/mnt/c/Users/5555$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
解决方案,安装正确的驱动,如下所示:驱动安装
- 安装cuda:cuda 12.1 直接复制命令行即可
在NVIDIA CUDA Toolkit或其他NVIDIA软件安装过程中,您可能会遇到不同的安装器类型(Installer Type),尤其是在选择如何安装CUDA Toolkit时。这些安装器类型通常包括
deb (local)
,deb (network)
, 和runfile
等选项。每种类型的安装器都有其特定的用途和安装流程。deb (local)
- 定义:
deb (local)
是一种Debian包安装方式,它涉及下载一个包含所有必要文件的.deb
文件。这个文件包含了所需软件的所有部分,因此不需要在安装过程中下载任何额外内容。- 优点:由于所有必要的组件都已包含在下载的
.deb
文件中,因此不需要在安装过程中连接到互联网。这对于安装大型软件包在没有可靠互联网连接的环境中特别有用。- 缺点:
.deb
文件可能会非常大,因为它包含了所有需要的安装文件。deb (network)
- 定义:
deb (network)
安装方式也是基于Debian包,但与deb (local)
不同的是,它会从网络上的仓库下载所需的软件包和依赖。- 优点:初次下载的文件相对较小,因为它只包含获取其余安装文件所需的信息。这意味初次下载快,而且能确保安装的软件是最新版本。
- 缺点:需要在安装过程中连接到互联网。如果网络连接不稳定或速度慢,可能会导致安装时间延长或安装失败。
runfile
- 定义:
runfile
是一种自解压的安装脚本,通常以.run
为扩展名。这种安装方式为用户提供了更高的灵活性,允许更详细地控制安装过程中的选项。- 优点:提供更多的自定义安装选项,比如选择安装路径、选择性安装组件等。适用于需要精细控制安装过程的高级用户。
- 缺点:安装过程比基于
.deb
包的方式更复杂,可能需要用户具备更多的命令行操作知总结
选择哪种安装器类型取决于您的具体需求、您的系统环境以及您对安装过程的控制需求。如果您想要一个无需互联网且一次性下载所有内容的选项,
deb (local)
是一个好选择。如果您希望保证安装的软件是最新的,并且不介意在安装过程中下载内容,deb (network)
可能更适合您。如果您需要更精细的安装控制或者要在没有Debian包管理器的系统上进行安装,runfile
可能是最好的选择。
2.1 检查是否安装好 nvcc -V
输出结果:
amos@DESKTOP-K2UHV5L:/mnt/c/Users/5555$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
如果未出现,请检查
安装完毕之后,nvcc -V
有可能还是报没安装CUDA-Toolkit,先去/usr/local/cuda/bin
看一眼有没有nvcc的可执行文件,如果有的话打开vi ~/.bashrc
,把cuda的bin目录加到PATH,也就是把下面这行加到.bashrc中。
export PATH=$PATH:/usr/local/cuda/bin
2.2 检查nvidia-smi
如果抑制出现报错:
-bash: /usr/bin/nvidia-smi: No such file or directory
检查是否是安装wsl1版本,如下所示:
C:\Users\5555>wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 1
按照如下步骤进行:旧版wsl手动更新
最后输入nvidia-smi
:
amos@DESKTOP-K2UHV5L:/mnt/c/Users/5555$ nvidia-smi
Wed Mar 27 15:54:33 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.65 Driver Version: 551.86 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 4090 D On | 00000000:01:00.0 On | Off |
| 0% 41C P8 28W / 425W | 642MiB / 24564MiB | 10% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| No running processes found |
+-----------------------------------------------------------------------------------------+
- cudnn下载:cudnn链接
安装时下载的小tips
在WSL2中的Ubuntu 20.04系统上,已经安装了CUDA 12.1的情况下,你应该选择与你的系统架构和操作系统版本相匹配的cuDNN版本进行安装。基于你提供的信息,有几个关键点需要考虑:
- 操作系统版本:你正在使用Ubuntu 20.04。
- CUDA版本:已安装的是CUDA 12.1。
- 系统架构:WSL2通常模拟的是x86_64架构,除非你明确知道你在使用基于ARM的处理器并通过某种方式在WSL2上运行ARM架构的Linux。
鉴于以上信息,你应该选择与Ubuntu 20.04和x86_64架构相匹配的cuDNN安装程序:
- Local Installer for Ubuntu20.04 x86_64 (Deb)
这个版本是专为Ubuntu 20.04系统设计的,并且是针对x86_64架构的,这应该与大多数通过WSL2运行的系统兼容。使用.deb包格式意味着安装过程将会非常简单,只需几个命令就可以完成。
安装这个版本的具体步骤通常包括下载.deb文件,然后使用dpkg命令安装,类似于之前解释的cuDNN安装步骤。确认下载的cuDNN版本与你的CUDA 12.1版本兼容非常重要,所以请参考NVIDIA官方文档来获取这些信息。
具体安装步骤
- 下载cudnn,将下载好的cudnn移动到wsl2中的 linux 系统文件目录,我的目录是
\\wsl.localhost\Ubuntu-20.04\home\amos\my_folder
;- 转到上述目录中,并输入:
sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb
amos@DESKTOP-K2UHV5L:~/my_folder$ sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb 出现问题: [sudo] password for amos: Selecting previously unselected package cudnn-local-repo-ubuntu2004-8.9.7.29. (Reading database ... 106617 files and directories currently installed.) Preparing to unpack cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb ... Unpacking cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) ... Setting up cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) ... The public cudnn-local-repo-ubuntu2004-8.9.7.29 GPG key does not appear to be installed. To install the key, run this command: sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-30472A84-keyring.gpg >/usr/share/keyrings/
按上述要求输入
sudo cp /var/cudnn-local-repo-ubuntu2004-8.9.7.29/cudnn-local-30472A84-keyring.gpg /usr/share/keyrings/
最终安装完成:amos@DESKTOP-K2UHV5L:~/my_folder$ sudo dpkg -i cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb (Reading database ... 106633 files and directories currently installed.) Preparing to unpack cudnn-local-repo-ubuntu2004-8.9.7.29_1.0-1_amd64.deb ... Unpacking cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) over (1.0-1) ... Setting up cudnn-local-repo-ubuntu2004-8.9.7.29 (1.0-1) ...
- 检查cudnn是否安装成功
tar -xvf cudnn-linux-x86_64-8.4.1.50_cuda11.6-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
4. WSL2中安装anconda3
4.1 在vscode中安装WSL
- 安装WSL插件,在扩展中搜索WSL,选择安装即可
- 连接至WSL2:
1.使用快捷键 ctrl+ p,再输入>,即可看到
connect to WSL
点击即可
如上显示即说明激活正确
4.2 Anconda开发环境的搭建
- 换源,修改Linux apt下载地址,以加快各种Linux下载速度,避免下载安装失败。在终端中输入并执行(第一次sudo需要输入用户密码)
sudo chmod 777 /etc/apt/sources.list # 提权,方便直接使用vscode编辑文件
- 然后在左侧文件目录中找到并打开
/etc/apt/source.list
,将里面的文本替换为
#默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
Ctrl+S保存即可。
3. 然后打开新的终端在终端中输入sudo apt update进行更新,等待更新完成.。
sudo apt update
# apt更新
4. 下载anaconda安装包,这里可以登录https://repo.anaconda.com/archive/网站查找要下载的版本,选择Linux-x86_64.sh结尾的。
wget -P /tmp https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh # 下载anaconda安装包至 /tmp 目录下
5.安装anconda3
bash /tmp/Anaconda3-2022.05-Linux-x86_64.sh # 安装anaconda
安装过程中会出现
yes
和ENTER
比如:Anaconda3 will now be installed into this location: /home/amos/anaconda3 - Press ENTER to confirm the location - Press CTRL-C to abort the installation - Or specify a different location below
此时应该输入
ENTER
- 此时安装完成,没有则输入
source /home/amos/anaconda3/bin/activate
即完成anconda安装
4.3 pytorch的安装
为了保证安装的正常下载,最好换源操作:
- conda、pip换源,加快各种依赖包的下载安装速度
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main # 添加conda下载源,目的是它自动生成的一个配置文件
- 执行完之后刷新左侧的资源管理器,可以在用户文件夹/home/<用户名>/下找到.condarc文件,替换成以下内容保存即可。
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/main
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/r
- https://mirrors.bfsu.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.bfsu.edu.cn/anaconda/cloud
msys2: https://mirrors.bfsu.edu.cn/anaconda/cloud
bioconda: https://mirrors.bfsu.edu.cn/anaconda/cloud
menpo: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch: https://mirrors.bfsu.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.bfsu.edu.cn/anaconda/cloud
simpleitk: https://mirrors.bfsu.edu.cn/anaconda/cloud
- 更换下载源:
pip config set global.index-url https://pypi.mirrors.ustc.edu.cn/simple # 修改pip下载源
- 创建一个环境
conda create -n d2l python=3.9
6.再pytorch中下载linux适配的版本
# CUDA 11.8
pip install torch==2.1.1 torchvision==0.16.1 torchaudio==2.1.1 --index-url https://download.pytorch.org/whl/cu118
7.安装完成,在该环境下检查安装是否成功
输入.py文件:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
输出:
(pytorch_2.1.1_llm) (base) amos@DESKTOP-OR1VC42:~$ /home/amos/anaconda3/envs/pytorch_2.1.1_llm/bin/python /home/amos/test.py
2.1.1
True
更多推荐
所有评论(0)