win11,NVIDIA GeForce RTX 3060
python 3.7,CUDAv11.1.1,PyTorch 1.9.0
author:zoxiii



PyCharm配置CUDA和cuDNN

  • 0、前提
  • 0.1、安装Anaconda和PyCharm
  • 0.2、更新NVIDIA显卡驱动到最新
  • 0.3、选择你需要的CUDA版本
  • 0.3.1、 查看最高可以选择的CUDA版本
  • 0.3.2、 支持你的GPU算力
  • 0.3.3、 支持你的PyTorch版本
  • 1、配置CUDA
  • 1.1、下载对应版本CUDA
  • 1.2、安装CUDA
  • 2、配置cuDNN
  • 2.1、下载cuDNN
  • 2.2、安装cuDNN
  • 3、安装PyTorch
  • 3.1、找可用的PyTorch版本
  • 3.2、pip安装PyTorch
  • 3.3、本地安装PyTorch
  • 3.4、验证是否成功


本篇博客涉及安装包❤️提取码9492 前提最好仔细看,看了不一定有用,但不看一定没用!
有问题随时欢迎指正

0、前提

0.1、安装Anaconda和PyCharm

  1. 安装软件Anaconda教程
  2. 官网下载安装PyCharm专业版
  3. pytorch_lightning 对应torch 版本_CUDA


  4. 学生邮箱注册账号免费使用PyCharm专业版
  5. 无学生邮箱可以下载Community社区版使用

0.2、更新NVIDIA显卡驱动到最新

进入计算机管理,按图示步骤更新。

  • 计算机管理→设备管理器→显示适配器→更新驱动
  • 更新成功

0.3、选择你需要的CUDA版本

0.3.1、 查看最高可以选择的CUDA版本

  • 方法一:进入cmd中查看(Win + R + 输入cmd+ Enter)
nvidia-smi

pytorch_lightning 对应torch 版本_python_02

  • 方法二:桌面→右键→NVIDIA控制面板→系统信息→组件→CUDA

我们需要的CUDA版本应 pytorch_lightning 对应torch 版本_cuda_03
一般不建议直接安装最高版本的CUDA,因为如果后续使用PyTorch或TensorFlow,95%的情况下是不兼容的(咱就是说稳定的总比最新的好)

0.3.2、 支持你的GPU算力

我们需要的CUDA版本应 pytorch_lightning 对应torch 版本_cuda_07

0.3.3、 支持你的PyTorch版本

  • PyTorch官网 在这里可以看到可通过conda或者pip命令来安装PyTorch
    • 踩雷:我在使用conda命令安装CUDAv11.3对应的PyTorch时候会安装成仅cpu可用的PyTorch(不知何原因),conda安装好像会自动匹配库最新的版本,所以最好是确定好你想要的cudatoolkit以及pytorch的版本最好。
    • 使用pip安装Wheel文件可以一定程度避免出错,还可在PyTorch的Wheel文件地址下载你需要的特定的PyTorch版本后本地安装(wheel文件是python的一种生成包格式文件,像一种特定的zip文件)
  • 根据【0.3.1】和【0.3.2】我们需要的CUDA版本应在 [v11.0, v11.6] 范围,我这里选择的是 CUDAv11.1,如下图所示,可直接复制官网的命令(一般官网给出的是经过测试的构建配置)
  • 如果你还有TensorFlow的安装需求的话,也可在Build from source on Windows | TensorFlow 查看版本对应关系。

1、配置CUDA

1.1、下载对应版本CUDA

1.2、安装CUDA

  1. 选择一个目录来安装临时文件
  • 安装完成后该目录会自动被删除

pytorch_lightning 对应torch 版本_CUDA_09


2. 阅读协议,同意并继续

pytorch_lightning 对应torch 版本_cuda_10


3. 自定义安装

pytorch_lightning 对应torch 版本_pytorch_11

  1. 自定义安装组件
  2. 选择安装位置
    D:\Program Files\NVIDIA CUDA\NVIDIA GPU Computing Toolkit\CUDA\v11.1D:\Program Files\NVIDIA CUDA\NVIDIA Corporation\CUDA Samples\v11.1
  3. pytorch_lightning 对应torch 版本_python_12


  4. 下载安装中
  5. 下载完成,下一步
  6. 安装结束
  7. 检查是否安装成功

(1) 进入cmd

nvcc -V

pytorch_lightning 对应torch 版本_CUDA_13


(2) 进入Windows PowerShell

cd D:
cd \"Program Files"\"NVIDIA CUDA"\"NVIDIA GPU Computing Toolkit"\CUDA\v11.1\extras\demo_suite
# 有空格的路径需要加双引号哦~
./bandwidthTest.exe

pytorch_lightning 对应torch 版本_python_14

./deviceQuery.exe

pytorch_lightning 对应torch 版本_CUDA_15


(3)觉得不保险,还可以去看一下环境变量有没有

  控制面板→→编辑系统环境变量→→环境变量

pytorch_lightning 对应torch 版本_python_16

2、配置cuDNN

2.1、下载cuDNN

  • 需要注意CUDA和cuDNN的版本对应关系
  • 一般需要注册登录了才能下载

pytorch_lightning 对应torch 版本_pytorch_18


pytorch_lightning 对应torch 版本_CUDA_19

2.2、安装cuDNN

  解压后,将cudnn目录下的文件对应放在cuda目录,即D:\Program Files\NVIDIA CUDA\NVIDIA GPU Computing Toolkit\CUDA\v11.1目录下的三个对应文件夹下

  • bin
  • include
  • lib

3、安装PyTorch

3.1、找可用的PyTorch版本

3.2、pip安装PyTorch

创建环境,环境名为mypytorch,可自己改想要的名称,也可以选择3.8版本的python

conda create -n mypytorch python=3.7

激活环境

conda activate mypytorch

安装cudatoolkit,目前最新的版本为11.3.1

pytorch_lightning 对应torch 版本_CUDA_21

conda install cudatoolkit

安装PyTorch

pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio==0.9.0 -f https://download.pytorch.org/whl/torch_stable.html

网速不好的话可以选择下载wheel文件本地安装或者挂🪜,转【3.3】

3.3、本地安装PyTorch

  • 下载whl文件C:\Users\mysel目录下(安装完后可删除,也可留着之后配置别的虚拟环境)
  • torch==1.9.0+cu111
  • torchvision==0.10.0+cu111
  • torchaudio==0.9.0
  • cp37表示我的虚拟环境python版本为3.7
  • win_amd64表示是windows版本的

pytorch_lightning 对应torch 版本_cudnn_22

  • 进入Anaconda Prompt进行安装(注意先进入你的虚拟环境中)
conda activate 你的虚拟环境名称
## 按顺序安装,不然可能安装torchvision的时候给你安装了cpu版本的torch
pip install torch-1.9.0+cu111-cp37-cp37m-win_amd64.whl
pip install torchvision-0.10.0+cu111-cp37-cp37m-win_amd64.whl
pip install torchaudio-0.9.0-cp37-cp37m-win_amd64.whl

pytorch_lightning 对应torch 版本_CUDA_23

3.4、验证是否成功

(mypytorch) C:\Users\mysel>python
......................................
>>> import torch
>>> torch.__version__
>>> torch.cuda.is_available()  ## 一定要输出True才是成功

pytorch_lightning 对应torch 版本_cuda_24

## 验证后可退出python,继续安装别的库
>>> exit()
  • 接下来就可以打开一个使用pytorch的深度学习项目跑一下测试了,当然还是会继续遇到一些新的问题,慢慢解决吧!