1、前言及准备
作为一名科班研究生,在科研环境方面踩了很多坑,历时两天终于搭建成功环境,借此契机想将其中的坑之处与大家分享,帮助刚入门的小白避免一些坑。
下面就开是我们今天的教程吧!
本次教程版本:Win11、WSL2、Ubuntu22.04、CUDA12.4、cuDNN8.9.7、Pytorch2.4.1、python3.9、Anaconda3
本教程是直接从wsl如何安装CUDA开始的,对于那些怎么安装wsl和Ubuntu的教程,这里就不做过多阐述了,有需要的可以参考大佬的教程(来自转载)WSL和WSL2介绍及使用wsl在pycharm,vscode中搭建python项目环境_wsl wsl2-CSDN博客
官方wsl教程
相信大家在之前做深度学习的时候在网上查阅相关教程都遇到了很多名词,下面我们先对名词做一个简单的介绍:
1、显卡驱动(GPU Driver)
连接操作系统和GPU硬件的软件程序
2、CUDA
CUDA提供了编程框架和GPU编程模型,使开发者能够有效地利用GPU的并行计算能力,从而加速计算任务
3、CUDA Toolkit
CUDA Toolkit 提供了编译CUDA代码的工具、CUDA运行时库和各种GPU加速的数学库,使开发者能够方便地构建和优化GPU加速应用程序
4、cuDNN(CUDA Deep Neural Network Library)
cuDNN 提供了用于加速卷积神经网络(CNN)等深度学习操作的GPU实现,使深度学习框架能够在GPU上获得显著的性能提升。
5、PyTorch
PyTorch允许开发者构建灵活的神经网络模型,并使用CUDA加速训练和推理过程。PyTorch的深度学习库可与cuDNN和CUDA Toolkit集成,以获得GPU性能提升。
首先我的电脑是Win 11版本,然后在cmd中运行以下代码:然后得到以下图片
nvidia-smi
Tip:nvidia-smi查看的是本机最大支持的cuda版本,该命令能运行出上述图片说明NVIDIA显卡驱动安装好了,并不代表本机安装了CUDA(此处有很多小白会在此迷糊)
这张图中我们只需要关注的是CUDA version,例如我的就是12.6,说明我的最高支持CUDA版本是12.6,各个版本之间的对应关系如下所示:
显卡驱动 → CUDA → CUDA Toolkit → cuDNN → Pytorch
即显卡驱动决定了CUDA版本,CUDA版本决定了CUDA Toolkit、cuDNN、Pytorch各自的版本。****简单来讲,就是先确定本机支持的最大版本然后,依次按照对应关系进行安装就好。
2、安装CUDA
这里我们可以先打开Pytorch的官网看一下目前支持的版本:
建议安装本机能支持的最新版本,当然对于某些之前的项目可能还需要搭建老一点的环境,这里我们以最新的版本为例进行演示操作,大致思路操作都是一样的。
因为之前可以看到本机最大支持CUDA12.6,而Pytorch最大支持12.4,那么本次教程我们就采取安装CUDA12.4作为演示操作。
先进入CUDA Toolkit Archive的官网
选择12.4.0版本进入:
重要的事情说三遍:选择WSL-Ubuntu、选择WSL-Ubuntu、选择WSL-Ubuntu。然后得到以下代码,每个版本不一样看自己官网生成的就好。
我先下载一个Ubuntu22.04.5,进项演示。安装好之后,打开Ubuntu22.04,然后设置好自己的名称和密码。
在命令行工具中输入以下代码:可以看待现在安装运行的Ubuntu版本。*表示当前正在运行的系统
wsl --list -v
将官网代码一条一条输入到Ubuntu中进行执行:(每个版本代码不一样,以自己为主!)
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-wsl-ubuntu-12-4-local_12.4.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-4-local_12.4.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-4
过程会有点长,等待下载完就好。
之后出现done说明安装成功。
安装结束之后执行nvcc -v,会提示没有nvcc可执行,这并不是因为我们cudatoolkit没安装好,而是因为环境变量还没配置好。
nvcc -v
执行下列代码:
sudo nano ~/.bashrc
将下列代码加到末尾,并Ctrl+x保存(注意将CUDA版本改为你安装的那个版本!!!)
export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
之后在更新一下环境变量:(linux系统里面有8秒原则,有的改变需要等待一会)
source ~/.bashrc
nvcc -V
这时候在执行 nvcc -V 就能够显示cuda版本了。
3、安装cuDNN
严格来讲cuDNN不能叫安装。它其实是对CUDA的一些补充,所以“安装”过程很简单。去英伟达官网下载对应CUDA 12.4的cuDNN压缩包(这一步可能需要注册英伟达账号)。解压之后得到cuda目录,cuda目录下面有include和lib64两个子目录,将这两个目录下面的所有文件拷贝到CUDA 12.4安装路径对应的目录下面即可。
cuDNN下载地址
本次安装选择的版本是图中的要注意,后面的CUDA12.x版本号。因为本次安装是linux系统下,所以选择第二个,如图中标注。下载到windows环境之下,之后再将压缩包复制到Ubuntu之中。
将文件保存到windows环境,然后直接复制到wsl2 ubuntu的home目录下,和在windows环境中复制粘贴一样操作。
在wsl的ternimal中进入到home目录,然后解压下载的文件
sudo tar -xvf cudnn** #省略部分按tab自动补全
可能会出现以上错误,这时候只要进入home文件夹中,刷新一下,将标红的文件删除后继续只想解压指令即可,就可以发现成功解压了。
然后把解压得到的文件分别拷贝到对应的文件夹(注意,下面命令中的 /lib/和/include/ 指的是刚刚解压得到的文件夹里的):
#进入解压的文件夹内
cd cudnn-linux-x86_64-8.9.7.29_cuda12-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(自己检查具体的版本修改路径)/include/cudnn*
sudo chmod a+r /usr/local/cuda-11.8(自己检查具体的版本修改路径)/lib64/libcudnn*
4、检查cudNN是否安装成功
cat /usr/local/cuda-12.4/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
出现上述图片说明,cudNN安装成功!
5、wsl安装anaconda并配置环境
安装anaconda
anaconda3官方下载,选择linux版本,鼠标放在其上方右键,复制链接。
回到Ubuntu的terminal,输入:(这个时候要重新开一个命令行页面在输入)
wget https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
运行以上代码,将会下载anaconda3到wsl ubuntu中。
之后执行:
sh Anaconda3-2024.06-1-Linux-x86_64.sh
只需要输入 sh A 然后按Tab键,系统会自动补齐下面内容。
接下来就是安装过程,只需要根据提示按回车(按Q可以直接跳到最后)或者输入yes即可。
安装成功,如图所示。
conda配置环境
1、conda创建虚拟环境
conda创建虚拟环境(此处要重新打开一个命令行界面,出现base说明进入到了anaconda里面,之后在执行以下指令)
conda create --name wsl22 python=3.9 #--name 后面是创建环境的名字,按自己的习惯命名,python=XX,输入自己想用的版本号
conda activate wsl22 #激活刚刚创建的环境
常用的conda命令
2、配置pytorch
前往pytorch官网,选择需要的环境(注意这里选择linux OS),复制conda命令,在terminal中粘贴,回车,安装环境:
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
6、在Pycharm中使用WSL中Ubuntu环境
打开Pycharm在右下角添加新的解释器,选择WSL
选择自己创建的Linux_distribution,然后Next:
Virtualenv Enviroment–Existing–点击…–选择这个路径 \wsl$\Ubuntu-22.04\home\username\anaconda3\envs\自己环境的名称\bin\python3。
完美撒花!开始学习吧
附录
常用的linux指令
#查看当前安装过的linux版本:
wsl --list -v
#卸载某一个系统:
wsl --upregister 系统名称
#关闭linux系统:(需要等待8秒)
wsl --shutdown
#导出镜像(备份)
wsl --export <Distribution Name> <FileName>
#导入镜像(还原)
wsl --import <Distribution Name> <InstallLocation> <FileName>
常用的Anaconda指令
#创建虚拟环境:
conda create -n 虚拟环境名字 python=3.9 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
# 切换激活虚拟环境
conda activate env_name
# 关闭退出虚拟环境
conda deactivate
# 删除虚拟环境(env_name是你想要删除的虚拟环境的名字)
conda remove -n env_name --all
安装pandas:pip install pandas
安装matplotlib:pip install matplotlib
......
jupyter相关操作
#jupyter切换虚拟环境,首先需要在anaconda中进入到虚拟环境之中
conda activate 虚拟环境名字
#然后在此虚拟环境中安装jupyter
conda install jupyter
#管理员身份运行
python -m ipykernel install --user --name 环境名称 --display-name "Python(环境名称)"
#“环境名称” 为当前虚拟环境的名称,最后面引号内的字符串是该虚拟环境显示在 Jupyter Notebook 界面的名字,可以随意修改。例如:
python -m ipykernel install --user --name myPytorch --display-name "myPytorch"
#写入 kernel 的配置并不会随虚拟环境的删除而删除。也就是说即使删除了该虚拟环境,Jupyter Notebook 的界面上仍会有它的选项,只是无法正常使用。此时就需要去手动删除kernel环境了
jupyter kernelspec remove 环境名称
声明
本文档仅仅为了帮助小白安装,无任何商业用途不涉及到任何利益收入,纯属开源分享,如有侵权请联系删除。
其中安装步骤参考B站UP主:七十七的德,表示感谢!
视频链接指路:wsl2安装 深度学习环境配置!同时拥有ubuntu的高效和windows的便捷!_哔哩哔哩_bilibili
UP还有一个文档也很不错,这边也附上链接,供大家学习交流:
Windows11 + WSL Ubuntu + Pycharm + Conda for deeplearning | 公孙启 (gongsunqi.xyz)
版权归原作者 辞晨在努力 所有, 如有侵权,请联系我们删除。