文章目录
(0)GPU 基础
对计算机而言,中央处理器 CPU 是主板上的芯片,图形处理器 GPU 是显卡上的芯片。每台计算机必有主板,但少数计算机可能没有显卡。显卡可以用来加速深度学习的运算速度(GPU 比 CPU 快 10-100 倍)。
目前显卡有三家厂商:Intel、Nvidia、AMD。深度学习所需要的显卡是 NVIDIA,没有此显卡的同学无法进行 GPU 加速。查看自己的计算机的显卡的方法是:任务管理器——性能——左侧栏划到最下面
。
NVIDIA 显卡中的运算平台是 CUDA,不过,即使您的计算机有 NVIDIA 显卡,但您的显卡中也不一定含有 CUDA,没有的话就要下载 CUDA。
而 PyTorch 的下载组件里也会包含一个内置的 cuda。
为了区分,显卡内的 CUDA 用大写,PyTorch 内置的 cuda 用小写。
一般来讲,要满足:
CUDA 版本≥cuda 版本。
查看 CUDA 版本的方法是: Win+R 后输入 cmd
,进入命令提示符,我们需
要输入 nvcc -V
,如图:
如果显示“nvcc -V 不是内部或外部命令”,则说明需要安装 CUDA。
(一)安装前的准备
检查win支持的最高cuda版本
NVIDIA控制面板下 系统信息 显示:CUDA12.6。这里CUDA10.1是支持的最高版本的CUDA,可以向下兼容,且可以安装多个版本的CUDA,可以通过更改环境变量来更改为你需要用到的CUDA版本。
**or **
查看显卡驱动命令: nvidia-smi
[可了解改版驱动可支持的最高cuda版本, cuda是向下兼容的,即新版本可兼容老版本使用]
查看当前cuda版本:nvcc -v
(二)查询官方torch版本
彻底解决torch、torchvision、torchaudio安装版本问题
例如我需要安装的cuda版本是12.1+torch==2.4.0:
在此页面搜索:
链接: torch官方版本
查询后发现是ok的:
因此,我安装:torch2.4.0+cu121, torchaudio2.4.0+cu121, torchvision==0.19.0+cu121
(三)CUDA 的下载
NVIDIA官网下载对应CUDA版本
CUDA下载地址:CUDA Toolkit Archive | NVIDIA Developer
官网较慢
这里有:快速下载地址 [挂梯子!否则打不开]
以其中的 CUDA 12.1 为例,点击进入
接下来要选择平台,点击 Windows,之后自动弹出更多内容,按下图选择,
最后点击右下角的 Download(3.2GB)),建议将其放置新建的 F:\CUDA12.1 中。
下载好之后,将 exe 文件放置在新建的 F:\CUDA 内,点击 exe 文件,大约要等两分钟,会弹出下图的提示框,这里要选择临时的解压文件夹,考虑到解压后需要占用大约 7G 的内存,因此建议放在 F:\CUDA\Tem 内,安装结束后,该临时解压文件夹会自动删除。
解压好后,进入下图安装界面,同意并继续后,点击“自定义”。
接下来,仅仅选择 4 大项中的 CUDA,并取消 CUDA 中关于 VS 的选项。
完成后,按照默认的 C 盘路径进行安装(大约 7G)即可
安装结束
现在回头查看临时解压文件夹 F:\CUDA\Tem,会发现已经消失,顺便可以
删除 F:\CUDA 了。
接下来配置环境变量,如果你是按照默认路径的话,其路径应该是:
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib\x64
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
- C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp
如果忘了你的路径,用 everything 搜索出来即可(一个tool)。
最后,回头检查一下 CUDA 版本,Win+R 后输入 cmd,进入命令提示符,
输入 nvcc -V,如下图所示。
切换CUDA版本时,只需要切换环境变量中CUDA的顺序即可,比如让CUDA12.1生效,则CUDA12.1环境变量在CUDA11.8之前。
(四)安装 PyTorch
4.1 torch、torchvision 与 torchaudio下载
PyTorch 一分为三:torch、torchvision 与 torchaudio。
这三个库中,torch 有2G 左右,而 torchvision 和 torchaudio 只有 2M 左右,因此一般在代码里只会
import torch。当 torch 的版本给定后,另外两个附件的版本也唯一确定了。
注:NVIDIA 显卡 30 系列(如 NVIDIA GeForce RTX 3050)只能安装 cu110 及其以后的版本。
(1)方法一:直接安装(不建议,网差的话会死机)
进入:PyTorch 官网 [太慢了]
(2)方法二:先下轮子再安装
注:开代理下载几分钟,不开三小时。
快速:下载 whl
如果进不去,就 https://download.pytorch.org/whl/cu121(修改为自己的cu版本号)
分别进入 torch、torchvision、torchaudio 三大组件各自的网站。
下载好后,将三个 whl 文件放在新建的 F:\whl 文件夹中。
4.2 whl安装
安装命令为 pip install 路径\轮子名.whl,即
- pip install F:\whl\torch-2.4.1+cu121-cp38-cp38-win_amd64.whl
- pip install F:\whl\torchaudio-2.4.0+cu121-cp38-cp38-win_amd64.whl
- pip install F:\whl\torchvision-0.19.0+cu121-cp38-cp38-win_amd64.whl
将上述代码放在虚拟环境下执行(而不是 base 环境,否则就会把这个库安装进 base 环境下)。
安装完毕后,即可删除 F:\whl 文件夹(但建议留着,之后可能还要安装)。
提示:虚拟环境的安装见 5.1 节
(五)python虚拟环境的安装与配置
提示:虚拟环境的安装位置的修改(重要)
conda安装可不新建!跳5.1节
- 在我们安装虚拟环境之前,如果我们不设置虚拟环境安装的位置,系统则会默认的将虚拟环境安装到固定位置(一般为系统盘(C盘)),会增加我们系统盘的压力,这个时候我们就需要将虚拟环境的安装位置修改到其它任意位置
- 修改方法如下:1.右键点击‘此电脑’
- 按照如图方法即可完成修改:
注意事项
- 变量名一定为:WORKON_HOME
- 变量值一定为:虚拟环境安装位置的具体路径(自己新建任意一个文件夹的位置,文件夹名自己定义)
5.1 python安装虚拟环境(pip)
why?
很多时候我们需要复刻其它演示代码中的环境,因此,虚拟环境必须掌握。初始的虚拟环境基本没什么库,演示代码里说需要安装什么版本的库,我们就手动安装什么版本的库。虚拟环境还有一个更大的优点,即想创建多少个,就创建多少。这样一来,就可以在同一台计算机中复刻多个不同的环境。
- Python安装虚拟环境可以依赖于许多工具,如virtualenv、virtualenvwrapper和pipenv等
- 详见: virtualenv、virtualenvwrapper和pipenv三种方法
5.2 python安装虚拟环境(conda)
下面介绍简单版本:Anaconda创建虚拟环境
点击 Prompt 进入 Anaconda 的环境中,接下来的命令均在 Prompt 中执行。
选择合适的指令即可
(1)清屏
cls
(2)base 环境下的操作
列出所有的环境:
conda env list
创建名为“环境名”的虚拟环境,并指定 Python 的版本
conda create -n 环境名 python=3.9
创建名为“环境名”的虚拟环境,并指定 Python 的版本与安装路径
conda create --prefix=安装路径\环境名 python=3.9
删除名为“环境名”的虚拟环境
conda remove -n 环境名 --all
进入名为“环境名”的虚拟环境
conda activate 环境名
(3)虚拟环境内的操作
列出当前环境下的所有库
conda list
安装 NumPy 库,并指定版本 1.21.5
pip install numpy==1.21.5 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装 Pandas 库,并指定版本 1.2.4
pip install Pandas==1.2.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
安装 Matplotlib 库,并指定版本 3.5.1
pip install Matplotlib==3.5.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
查看当前环境下某个库的版本(以 numpy 为例)
pip show numpy
退出虚拟环境
conda deactivate
返回4.2节,安装whl(轮子)
(六)检验 cuda 是否可用
(1)方法一:查看当前环境的所有库
进入 DL 环境后,使用 conda list 命令列出当前的所有库,如图;
安装完轮子之后的页面
(2)方法二:进入 Python 解释器检验
由于目前没有代码编辑器,因此直接进 Python 解释器,检验 cuda 是否可用。
首先,进入虚拟环境后,输入 python 以进入解释器,如图:
输入 import torch 导入 torch 库,如下图所示。若 torch 安装失败,则会返回 No module named ‘torch’。若安装成功,不会返回任何语句,同时在下一行出现“>>>”,提示我们可以继续敲代码。
最后一步,输入 torch.cuda.is_available(),如下图所示。
(七)CUDNN 加速
why?
如果你要在 GPU 上运行 TensorFlow 或 PyTorch,推荐安装 cuDNN(CUDA 深度神经网络库),因为它能显著加速神经网络的训练和推理过程。
注意:cuDNN主要是用来完成深度学习张量加速运算,可理解为CUDA的补丁。
7.1 检查(略)
(非必要,cuda检查方法3,前2种方法在上一节已说明)
打开路径 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
,查看 nvcc.exe
有这个nvcc.exe就说明CUDA安装已成功
打开路径 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\CUPTI\lib64
,查看有没有cupti64_2023.1.1.dll
有这个cupti64_2023.1.1.dll就说明CUPT1已成功
7.2 cudnn安装包下载
官网下载地址:链接: 当前cudnn (需要挂梯子)
cuDNN历史版本下载地址:链接: 历史cudnn (需要挂梯子)
需要注册一个账号才可以下载,随便注册就行
cuDNN版本的解读:
例如源文件:
cudnn-windows-x86_64-8.8.0.121_cuda12-archive.zip
则对应的【cuDNN版本号】和【CUDA版本号】分别是:
cudnn-windows-x86_64-【version8.8】.0.121_【cuda12】
备注:其中在cuDNN历史版本下载页面可以看到与CUDA的版本对应关系。注意所下载的cuDNN的版本要和CUDA保持一致!
7.3 配置CUDNN
解压CUDNN后,将对应的bin、lib、include与CUDA12.1对应的bin、lib、include进行合并。
之后找到路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
的文件夹,v12.1是我安装cuda的版本号,你的可能不一样,路径都差不多一样的,替换。
7.4 验证cudnn是否安装成功
cmd进入目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\extras\demo_suite
终端输入:deviceQuery.exe
结果为pass证明安装成功
总结
在 GPU 上运行 TensorFlow 或 PyTorch,cuDNN 是必须的,否则性能会下降或功能受限。
在 CPU 运行,这时不需要安装 cuDNN。
(八)Tensorflow安装
我的选择:tensorlow2.9.0
官网链接: 在 Windows 环境中从源代码构建 | TensorFlow (google.cn)
准备工作:安装cudnn
安装过程:镜像
遇到问题:各自版本不兼容问题——靠pip list和重装tensorboard解决
快速解决tensorflow与tensorboard版本不兼容问题
8.1 安装
参考:Anaconda同时安装Tensorflow和Pytorch(window系统)步骤/流程/方法
安装tensorflow-gpu(用pip的时候要关梯子,不然会报错)
pip install tensorflow-gpu==2.9.0
8.2 检查
8.3 一次性安装所有包(可选)
pip install ...不要开梯子!
以下是我自己需要安装的包,只是做个示范~
可以将所有依赖放入一个 requirements.txt
文件,内容如下:
xformers==0.0.27.post2
tensorflow-datasets==4.9.2
tensorflow-gpu==2.9.0
tensorflow-gan==2.1.0
tensorflow-probability==0.11.0
tensorboard==2.9.0
ninja==1.11.1.1
jax==0.4.11
jaxlib==0.4.11
jinja2==3.1.3
然后使用以下命令安装所有包:
pip install -r requirements.txt
over