Pytorch-GPU,Cuda,Cudnn说明
说明:网络上很多教程只是把流程走了一遍,可能跟着操作走,能够达到目的,但是总缺少点什么,没有理解每个步骤的意思,所以来分享一下
1:Cuda
因为自己的电脑是刚重装系统,此时是没有Cuda
的,需要自己安装Cuda
,也就是说你输入nvcc -V
,提示'nvcc' 不是内部或外部命令,也不是可运行的程序或批处理文件
所以说,在安装Pytorch
之前,需要安装一下Cuda
,不然装好了Pytorch
也是显示GPU
使用为False
。
打开设置
->应用
->应用和功能
,没装CUDA
只有划红线的三个东西。
1.1:安装CUDA
我这边装的是CUDA10.1
,首先下载文件,提取码:5kzm,安装CUDA10.1
,
同意许可协议以后,安装选项选择自定义。
点开驱动组件(Driver components),当前版本大于新版本的,就取消那个勾,因为新版本没有当前版本新,就不用安装新版本了,Display Driver
和PhysX
都取消勾选。
安装位置使用默认的,这里把位置记录下来,防止以后需要操作找不到文件。
后面的能输出版本号就可以了。
2:CuDNN
CuDNN
是用于加速神经网络计算的库,下载上面百度云(提取码:5kzm)里面的文件,解压出来,包含三个文件。
打开C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
这个文件夹,把上面的CuDNN
里面的bin
,include
,lib
文件夹复制进去。
说明:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
这个文件夹,其实就是第一步安装Cuda
的时候,CUDA DEVELOPMENT
的安装位置,如下图。
3:Anaconda
Anaconda提供了不同的虚拟环境,通过设置不同的虚拟环境,可以在不同的虚拟环境中,设置不同版本的Pytorch版本。下面开始安装Anaconda。
3.1:Anaconda安装
这里双击下载的Anconda.exe文件,点击next。
同意用户协议。
指定使用的用户,就自己吧,如果是服务器,可能多个用户,其他用户可能会不需要,所以就选择Just me。
这里将Anaconda的安装地址改一下,因为以后会创建很多虚拟环境,安装很多包,都会在这个地址里面,所以不要默认在C盘,我把它改到D盘了。
然后这里需要将第一个勾上,因为需要将Anaconda配置到系统环境变量里面去,现在配置,等安装完就直接配置好了,同时看一下,这里面的python版本为3.9,然后点击Install。
3.2:Anaconda使用
安装完Anaconda以后,点击Anaconda Prompt开始使用虚拟环境
进来以后是base环境,这个环境基本上不用,一般都是额外建立虚拟环境。如果此时直接进行各种装包,速度会很慢,所以我们先修改一下源
3.2.1:修改镜像源
首先执行 conda config --set show_channel_urls yes
,如下图所示。
执行完以后,会在C盘下面出现一个.condarc
文件,需要修改这个文件里面的内容。
打开.condarc
文件,输入一下内容,保存退出。
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
运行conda clean -i
命令,清空索引缓存,保证用的是镜像站提供的索引。然后下面开始创建新的虚拟环境。
3.2.2:创建虚拟环境
输入conda info -e
,查看有哪些虚拟环境。
以安装torch1.7.1为例子吧,首先通过下面命令,conda create -n torch1.7.1 python=3.7
,在Anaconda prompt里面创建虚拟环境。其中-n是指name,即虚拟环境的名字。(这个图片没有,因为命令行直接过去了)。
这里建议虚拟环境命名带上torch的版本,因为后续不同项目会要求不同的torch版本,到时候记不住,看虚拟环境就可以了。
创建完以后,激活这个虚拟环境conda activate torch1.7.1
,如图所示。
然后去Pytorch官网查找自己需要的Pytorch版本,复制所需要的命令。
这里我的是conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=10.1 -c pytorch
,其中-c指的是channel,即下载pytorch的源头,命令行指定的是pytorch官网。
我试了一下把-c pytorch
去掉,提示就不行,所以还是加上吧。
安装完测试一下pytorch
是否支持GPU
计算。
在当前环境下输入python
,进入编程状态
依次输入下面的代码,输出为True,就没问题了。
import torch
print(torch.cuda.is_available())
3.2.3:删除虚拟环境
当想删除虚拟环境的时候,先conda deactivate
,让当前环境失活,然后再删除。
删除命令为conda remove -n torch1.7.1 --all
。
4:最后
我自己这边是重装了系统,导致电脑上CUDA
和CUDNN
都没有,所以第一次可能需要装一下CUDA
和CUDNN
。
虚拟环境前面用的是torch1.8.1
,后面用的是torch1.7.1
,这个不用纠结,可能是自己忘了修改图片,因为是分两次写的。