目录
写在前面
最近几个月都在忙着毕业的事,好一阵子没写代码了。今天准备跑个demo,发现报错 AssertionError: Torch not compiled with CUDA enabled

不知道啥情况,因为之前有cuda环境,能用gpu加速,看这个报错信息应该是Pytorch下没有可用的cuda,不知道咋没了。因而决定从头开始配置一下环境,以此博文记录一下~
安装cuda
1、了解cuda版本
打开英伟达控制面板 -> 左下角"系统信息" -> 组件


可以看到:我的电脑所能兼容的最高cuda版本为12.5
2、安装cuda
进入官网:CUDA Toolkit Archive | NVIDIA Developer,选择合适的版本进行安装
因为我的电脑所能兼容的最高cuda版本为12.5,所以我选择了12.4进行下载安装,同时我的电脑系统为win11,如下:


安装时,选择"自定义(高级)" -> 取消勾选CUDA下的Visual Studio Integration

我选择的安装位置为F:\NVIDIA GPU Computing Toolkit\CUDA\v12.4。安装完成后检查一下是否有环境变量,没有的话手动添加一下

3、测试是否安装成功
在cmd里输入nvcc -V,出现类似下图的界面就ok了~

安装cudnn
1、安装cuda后还要安装cudnn?
- CUDA:是一个通用的并行计算平台和编程模型,用于利用 NVIDIA GPU 进行通用计算。CUDA 提供了一种编写 GPU 加速代码的方式,使开发者可以利用 GPU 的强大计算能力进行高性能计算
- cuDNN:是构建在 CUDA 之上的专用库,专注于深度学习领域的优化。它使用 CUDA 来执行底层的并行计算,但提供了更高层的、针对深度学习任务优化的操作
安装 CUDA 可以利用 GPU 的并行计算能力来加速通用计算任务,包括但不限于深度学习。然而,深度学习中的许多计算操作(如卷积、反向传播等)需要特殊优化,**直接使用 CUDA 编写这些操作的效率可能不如使用专门的库,如 cuDNN 或其他深度学习框架。**如果目标是使用 GPU 来加速深度学习任务,除了安装 CUDA,还需要安装 cuDNN。这是因为 cuDNN 提供了高度优化的深度学习操作,可以显著提高训练和推理的速度。
2、cudnn下载
网站CUDA Deep Neural Network (cuDNN) | NVIDIA Developer,点击Download cuDNN Library

将下载下来的cudnn文件解压,并用解压出的文件直接替换cuda安装目录下的文件

安装pytorch-gpu
1、配置新的虚拟环境
打开Anaconda Prompt,利用conda配置一个新的虚拟环境并激活

可以看到我的Python版本是3.8

故输入以下两个命令:
bash
conda create -n torch_gpu python=3.8
conda activate torch_gpu
看到前面的base变为torch_gpu即可

2、安装Pytorch
官网PyTorch,选择自己的配置后得到一串命令,输入上面的命令行中


3、小插曲&安装方式二
安装的时候报错了,报错信息 CondaError: Downloaded bytes did not match Content-Length

查了一下原因说是使用conda 安装包下载的时候速度较慢,导致下载timeout而终止,从而未完成整个安装包的下载。
于是尝试第二种安装方法:国内镜像网站安装,网址https://download.pytorch.org/whl/torch_stable.html
- 选择合适的版本,注意一定要选择cu开头的才是gpu版本
- torch后面的数字是torch版本(我下的是2.3.1),cp后是对应的python版本(我是3.8),还要注意操作系统(我是win)

下载torchvision的时候要特别注意torch与torchvision的版本对应关系,参考GitHub - pytorch/vision: Datasets, Transforms and Models specific to Computer Vision

所以我要下载0.18版本的torchvision,其他跟上面保持一致,如下:

下载完成后得到以下两个whl文件:

在Pycharm终端,进入到该路径下运行:
bash
cd C:\Users\11842\Downloads
conda activate torch_gpu
pip install "torch-2.3.1+cu118-cp38-cp38-win_amd64.whl" --trusted-host pypi.tuna.tsinghua.edu.cn
pip install "torchvision-0.18.1+cpu-cp38-cp38-win_amd64.whl" --trusted-host pypi.tuna.tsinghua.edu.cn
如下图:

等待两个均成功安装即可
4、检测是否安装成功
输入python进入终端:
python
import torch
print(torch.cuda.is_available())
返回True,即pytorch-gpu安装成功

5、增加到Pycharm的编译器里
想重新用cuda加速跑demo时,发现Pycharm的编译器里还没有刚刚新创建的虚拟环境。如下图所示,File -> Settings -> Python Interpreter:

手动添加:点击上图的+,选择第三个System Interpreter,添加上下图的地址D:\Anaconda\envs\torch_gpu\python.exe,并重命名一下

这样就大功告成啦~

可以看到demo可以成功跑起来啦~

参考
1050ti显卡安装cuda_1050ti cuda-CSDN博客
Pycharm搭建CUDA,Pytorch教程(匹配版本,安装,搭建全保姆教程)_cuda12.3对应的pytorch版本-CSDN博客