前言

之前一直想学深度学习,奈何我的显卡是七年前的gtx970m,cuda只支持cuda9.1。去pytorch官网上看了一下没有这个版本的,所以深度学习一直只停留在理论层面。这两天好好折腾了一下,终于把pytorch装上了,下面介绍方法。

步骤

  1. 安装CUDA和cuDNN(用于深度神经网络的GPU加速库)
  2. 安装anaconda(pytorch的版本要和python的版本对应,所以需要anaconda进行版本管理,我的torch0.4.0需要python3.6)
  3. 安装pytorch和torchversionm

CUDA和cuDNN安装

CUDA

安装

windows10 版本安装 CUDA ,需要下载两个安装包

  • CUDA toolkit(toolkit就是指工具包)
  • cuDNN

首先你需要知道自己的显卡支持的CUDA版本,桌面->右键->NVIDIA控制面板->系统信息(左下角)->组件。第三行产品名称一栏可以看到CUDA的驱动版本。

去CUDA官网下载对应的toolkit(下载链接

下载好后直接双击安装就行了

注意:安装cuda时,第一次会让设置临时解压目录,第二次会让设置安装目录;临时解压目录千万不要和cuda的安装路径设置成一样的,否则安装结束,会找不到安装目录的!!!

验证是否安装成功

运行cmd,输入nvcc –version 即可查看版本号;

set cuda,可以查看 CUDA 设置的环境变量。

nvcc -V
set cuda

cuDNN安装

cuDNN地址如下,不过要注意的是,我们需要注册一个账号,才可以进入到下载界面。大家可以放心注册的。
注册链接
下载CUDA对应的cuDNN链接:
下载链接
下载完成后是一个压缩包,我们需要把压缩包里的内容拷贝到cuda的安装目录下。
默认安装目录:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0

拷贝时看到,CUDA 的安装目录中,有和 cuDNN 解压缩后的同名文件夹,这里注意,不需要担心,直接复制即可。cuDNN 解压缩后的同名文件夹中的配置文件会添加到 CUDA安装目录中的同名文件夹中。【此处还是建议还是分别把文件夹的内容复制到对应文件夹中去】

现在大家应该可以理解,cuDNN 其实就是 CUDA 的一个补丁而已,专为深度学习运算进行优化的。然后再参加环境变量:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\lib
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0\libnvvp

这样cuDNN也安装完成了。

Anaconda安装

为什么要装Anaconda呢?主要是因为不同版本的CUDA对应了不同版本的pytorch,而pytorch的版本又对python版本有要求。所以我们需要用创建虚拟环境来保证pytorch的python版本不会影响新版本的python使用。我之前一直没装上的原因就是cuda9.1的pytorch0.4.0需要python3.6,我用的python3.7就一直有问题。有Anaconda后可以直接开一个3.6的环境,也可以开任何一个其他版本的python,互相之间不受影响。

Anaconda的安装和使用教程有很多,这里就不赘述。参考:Anaconda 的安装及使用

pytorch安装

创建虚拟环境

#conda create -n 虚拟环境名 python=版本号
#创建一个python版本是3.6的python环境,命名为pytorch-gpu
conda create -n pytorch-gpu python=3.6

#创建完以后进入虚拟环节
conda activate pytorch-gpu

pip安装pytorch0.4.0以及torchvision

## pytorch
pip3 install http://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-win_amd64.whl

## torchvision
pip install torchvision==0.1.8

OK,这样一来torch就安装完成,需要用的时候把python的解释器换成pytorch-gpu这个就行了。

参考

https://blog.csdn.net/m0_45447650/article/details/123704930
https://blog.csdn.net/qq_43760191/article/details/121