pytorch安装爬坑指南
Anaconda+CUDA+CUDNN+PyTorch踩坑经验总结
前言
- Anaconda是一种python的包管理工具,比起单pip来说,它的特点是能够创造一个属于某一个项目的包环境,比如神经网络,我要用pytorch,pandas。比如做数据分析,我用numpy,matplotlib,pandas等,一个项目对应一个包环境,anaconda可以进行相关环境的创建,删除,管理,复制等操作,同时anaconda自带了pip的下载功能,也有相应的GUI减少命令行工作(当然本文中主要还是采用的命令行的形式。
- CUDA(Compute Unified Device Architecture),是英伟达公司推出的一种基于新的并行编程模型和指令集架构的通用计算架构,它能利用英伟达GPU的并行计算引擎,比CPU更高效的解决许多复杂计算任务。一言以蔽之,CUDA用GPU来加速进行神经网络运算。
- NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中,如加州大学伯克利分校的流行CAFFE软件。简单的,插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是调整性能,同时还可以在GPU上实现高性能现代并行计算。同样是加速神经网络,不同的是CUDA跟硬件层链接,CUDNN跟软件层进行链接,总之二者缺一不可。
- PyTorch是Python著名的神经网络相关的库,也是本文的主角。
Anaconda
下载Anaconda
在https://anaconda.org/中下载anaconda并运行安装包。

运行到这一步时要注意勾选1 Add Anaconda to my PATH environment variable,这样python调用你的包就只会访问anaconda中的环境,不必担心在anaconda中下载了包而不知道如何导入的问题。

装完即可。

运行Anaconda Prompt
Anaconda Prompt是一个运行Anaconda的命令行,接下去我们再Anaconda中的操作都可以在该命令行中(不是windows自带的cmd命令行)运行。

搜索并打开:

(base)代表主环境,不建议在主环境下安装包,由于我们要安装一个神经网络相关的环境。不如叫它NN(Neural Network)吧!我们创建一个环境,命令如下(这里只需跟着做,如果遇到不懂的可以查“Anaconda命令”)

命令解释:conda是在anaconda中输入命令时的第一个单词,所有命令都以这个为开头,create代表你要创建虚拟环境,-n 和 NN是在一起,代表名字是NN,当然你也可以把NN改成你想要的名字,最后指定python版本。(一定要python3.7,版本高了会报错)

输入命令 conda activate NN,就进入到你的环境中了。之后你大部分的工作都在这个环境中进行。
CUDA
有N卡的话,打开NVIDIA Control Panel然后跟着箭头走。



这里告诉你你能安装多少版本的CUDA,我能直接安装11.5.56的CUDA,然后就去CUDA官网安装就可以了。
这里贴出CUDA11.1的安装链接,如果N卡合适的话就直接安装就好了,不合适就去官网找低版本的。
把这个url粘贴到迅雷中下载:https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_456.43_win10.exe
无脑安装即可。
为CUDA添加环境变量
你需要在系统环境变量的Path项下添加几个路径 打开控制面板,打开系统和安全,打开系统,相关设置里打开高级系统设置,打开环境变量,在系统变量里面打开path。


添加以下两个路径:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
验证CUDA是否安装,在Anaconda Prompt中输入nvcc -V即可:

PyTorch
安装PyTorch
安装PyTorch之前,先安装numpy。
conda中输入
pip install numpy=1.17.1
安装好了,然后安装pytorch
pip install pytorch=1.7
版本不宜过高,会出bug。

在自己的环境下(我这里是base),使用shell窗口进行python的交互模式,输入以上指令,如果都是True就说明Cuda和CUDNN都以安装完成。
爬坑
pytorch和numpy版本过高

python和numpy版本过高,导致编译器中import pytorch时出现错误。
操作尽量都在Anaconda Prompt中完成

-
没有在anaconda的环境中,导致没有找到相应的环境。

-
以为是在Anaconda中,但是实际上是在cmd中。
CUDA版本适配

所有的东西都下载好了,但是import之后cuda还是出现错误,原来是原先的CUDA只能支持10.4的版本。有两种解决方案:
1. 装10.4版本的CUDA
2. 升级显卡驱动
我这里选择的是升级显卡驱动:进入官网:https://www.nvidia.com/en-us/geforce/geforce-experience/,下载geforce-experience,

注册账号然后再驱动程序中更新驱动即可。

浙公网安备 33010602011771号