1.安装CUDA
1.查找你电脑的版本号,看对应的是哪个版本的CUDA
方法:
使用终端,win+R打开,输入:
nvidia-smi
这会显示你的GPU版本的信息
这里的意思是你的电脑适合12.1以下的版本的CUDA版本,注意千万不能下载高于你电脑适配版本的CUDA
2.我们直接在CUDA的官网里面下载我们需要的版本
edge里面搜https://developer.nvidia.com/cuda-toolkit
打开官网(有时候会因为网速原因进去的慢或者进不去下,很正常,多试几次)
点击下载进入下载界面
3.选择你需要的版本(我这里选择了V11.8版本)这里按照我的这样选,选在线安装包,这个比较小一点
4.下载之后进入安装界面,别的都一样,注意我下图的这两项,在安装选项我们选择自定义
如果是第一次安装那就全选,如果是删除了之前的重新重新下载的只需要点第一项就好了,其余直接下一步下一步就OK了 (不要修改路径,不然可能会出现未知错误)
5.这里我们就算是安装上了CUDA但还没有配置好,接下来我们打开我们的系统的环境变量,来配置我们得环境变量
(1)在系统变量这里一般来说安装的时候会自动配置,没有的话就自己配置一下我框里面的两项(应该不改路径的话都是这个地址,你们根据自己的自行配置)
(2)点开系统的环境变量里面,看有没有这五个,没有的话得自己加上
1. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin
2.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\include
3.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\lib
4.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\libnvvp
5.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\extras\CUPTI\lib64
这样我们就算是仅仅配置好了我们的CUDA
2.安装cuDNN
cuDnnD的官方网站:
由于是外网,所以打开都会很慢,基于你的网速原因,可以自行找一找加速器
(1)打开之后选择你的CUDA对应的版本号,注意比如我下载的是11版本的CUDA,那么我的cuDnn就选择11版本的就行
(2)下载下来压缩包解压,复制里面的前三个文件夹,直接粘贴到当时安装CUDA的路径的V18.0里面就好了。
cuDNN比较简单也不用配置环境变量,它就相当于是CUDA的一个插件一样。
这样我们的工作就算是完成了一半,接下来我们开始配置我们的pytorch
3.pytorch的安装和conda环境的配置
1.首先一定要记得,pytorch和CUDA以及python的版本是一一都是对应的,高了或低了都会出现错误
2.本文采用的是conda终端安装,不是在网站直接安装的,网站下载巨慢,大家有条件的可以自己试试。
1.conda环境的配置
打开我们的终端
这两个打开任意一个都可以,我们先配置一个新的虚拟环境,默认的是base。
我们使用这一句来创建一个新的虚拟环境
conda create --name myenv python=3.12
- 在这个命令中,
--name
参数后面跟的是虚拟环境的名称,python=
参数后面跟的是要安装的Python版本。可以根据需要替换这些参数。 - 使用
conda activate
命令来激活虚拟环境。例如,要激活名为myenv
的虚拟环
conda activate myenv
- 激活成功后,可以在终端或命令行窗口中看到虚拟环境的名称出现在提示符前。此时,在该终端或命令行窗口中运行的Python程序将使用虚拟环境中的Python解释器和库。
2.pytorch及相应工具的下载
我们这里要十分注意下载的时候一定要完全完全对应我们的版本,不然cuda是无法调用的,我们之前装的torch建议卸载掉,因为很可能是CPU版本的,这里有两种方法
(1)conda终端直接下载
这里我们要注意对应我们的CUDA版本,我这里选择了11.8版本,很慢但不建议使用清华或者淘宝等国内的镜像源,他们那个里面很可能是CPU版本,我们直接将torch,torchaudio,torchvision这三个库一次性下载下来。
conda install pytorch==2.5.0 torchvision==0.20.0 torchaudio==0.20.0 pytorch-cuda=11.8 -c pytorch -c nvidia
安装成功后我们在解释器运行以下代码检验一下
import torch
print(torch.__version__)
print(torch.cuda.is_available())
如果能够成功导入torch模块并且输出正确的版本号,且torch.cuda.is_available()
返回True(如果安装了CUDA版本的话),则表示PyTorch已经成功安装。
(2)官网直接下载
https://download.pytorch.org/whl/cu102
打开之后
我们这里要分别下载torch,torchaudio,torchvision这三个库
这里我解释一下。cu是你CUDA的版本号。cp是你的python的版本。你选择你需要的下载就好
我这里选择下载图中的第六个,你们可以选择自己下载
torchaudio,torchvision类似我这里就不一一演示,这两个版本不管,只需要对应你下载torch版本的cu号和cp号就可。一般来说版本要一一对应。
下载好之后我们直接在conda终端中安装就行,这里只需要注意要在你激活的那个虚拟环境中进行安装就好了。由于我是直接在conda终端安装的pytorch,所以我在这只是提供方法,你们自行打开安装,最后返回sucess就大功告成了
conda install F:\don\torch-2.5.0+cu118-cp312-cp312-win_amd64.whl
conda install F:\don\torchaudio-0.20.0+cu118-cp312-cp312-win_amd64.whl
conda install F:\don\torchvision-0.20.0+cu118-cp312-cp312-win_amd64.whl
这里输入的是你自己的下载下来的地址。
最后我们在PyCharm中验证一下我们配置好了没有
import sys
import torch
from torch.backends import cudnn
print(sys.version)
print(torch.__version__)
print(torch.cuda.is_available())
print(cudnn.is_available())
这里输出如下图所示就算我们配置好了
接下来我们就可以用我们的GPU来训练模型了。
4.运行报错处理
1.OMP错误
这里有一个十分快捷的方法
在所有代码前加
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
这一句的主要作用就是忽略这个错误,但是治标不治本,大家按需要选择
2.CUDA内存不足
我们加入以下代码:
import os
os.environ['PYTORCH_CUDA_ALLOC_CONF'] = 'expandable_segments:True
这一句主要是来允许 PyTorch 的 CUDA 内存分配器使用可扩展段(expandable segments),这有助于减少内存碎片。
当输入以上代码CUDA还存在内存不足的问题,调整模型大小、减少批量大小等方法也可以解决问题。
再者就是直接在环境变量中配置以上两句代码,大家自行选择,我这里不做一一介绍。