一、Pytorch安装过程中问题及解决方法
1、问题一 :CondaHTTPError: HTTP 000 CONNECTION FAILED for url
安装好Anaconda后,在PyTorch官网选择好版本安装时,发生如下错误:CondaHTTPError: HTTP 000 CONNECTION FAILED for url 。
百度之后结果大多说是 因为是在自己虚拟的环境下进行的安装,速度超级慢、且最后报错。安装百度提供的方法添加镜像到Anconda后,再次安装,发现仍然报该错误。
conda config --add channels http://xxxxxx
之后发现有人说要安装命令需要删除末尾的 -c pytorch ,以及在 conda 的 channels 中删掉 defaults 这一行, 但按照该百度的方法做相应修改后,再次安装,还是报出该错误。
在百度其他的解决方法后,说法都大同小异。
Pytorch的安装一度陷入停滞。
2、问题二:SSLError("Can’t connect to HTTPS URL because the SSL module is not available.
经过多次的安装失败后,仔细并且完整地看了一下跳出的报错信息,发现报错信息中最后一行提到 openSLLError,大意是说找不到 openSLL 这个模块。
于是抱着试一试的心态粘贴这个错误百度了一下,果然有一篇CSDN博客(https://blog.csdn.net/ouening/article/details/89182078)提出了该问题的解决方法。
该篇博客提供以了SSL下载地址,https://slproweb.com/products/Win32OpenSSL.html ,于是前往该地址下载的适合自己系统的.EXE安装包,我下载的是Win64OpenSSL-1_1_1d.exe这一版本,下载速度超级慢,我下载足足三个小时。
下载好之后,直接双击安装即可,当然我也百度了一下怎么安装,不过我直接双击EXE文件,按步骤直接安装就好了。
安装好SLL之后,再次运行conda的pytorch安装命令,神奇的现象发生了,终于不再报错问题一种的错误了,天知道这时候我有多开心。
但是,但是,但是仍然没有安装成功。这时错误提示说 在添加的 channels 中均没有发现Pytorch包。
3、问题三:channels 中没有发现可下载Pytorch包的地址
channels 是之前添加的,于是我亲自到清华开源软件镜像站中寻找Pytorch包所在的目录,然后在channels中添加该网址。
终于又一次,安装Pytorch 走起…
奇迹,真的是堪称奇迹,发送了,终于,终于出现了教学视频中出现的安装画面,真的是快哭出来了。大约下载了有三分钟左右吧,终于安装“成功”了。
4、安装测试
安装“成功”之后,迫不及待的进行检验是否安装成功。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ck5bSVxP-1579855387507)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1579697720007.png)]
import torch
print(torch.__version__) #查看pytorch的版本号
print('gpu:',torch.cuda.is_available()) #检验GPU是否可用
显然,从输出结果可以看出,Pytorch安装成功,但是并不支持GPU。
回想一下,我安装的CUDA版本是10.2,但是我电脑的GPU仅支持CUDA 8.0,于是猜想可能是由于CUDA版本不一致导致不支持GPU。
–2020年1月22日
5、Pytorch不支持cuda?
如4中所述,今天将此前安装的CUDA的10.2卸载,以及Pytorch1.4卸载,重新安装了一下。发现一共安装的有一下几个软件:
-
CUDA Toolkit 8.0 (需要在NVIDIA官网 https://developer.nvidia.com/ 下载)
-
cuDNN v7.1.3, for CUDA 8.0 (也是需要在NVIDIA官网上 https://developer.nvidia.com/rdp/cudnn-archive 下载)
下载解压后会有三个文件夹,将其中的文件分别放在CUDA安装目录下对应的文件夹中即可。
-
pytorch 1.0.1 (在 Pytorch 官网上 https://pytorch.org/get-started/previous-versions/ 下载,需要选cuda版本,应该选择与之前安装的CUDA一致,这里选择的是 8.0 )
conda install pytorch torchvision cudatoolkit=8.0
解决了之前的问题后,再次安装其实很快的。
保持所有的CUDA版本一致后安装,再次测试,得到如下结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-70vEhmNz-1579855387509)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1579780675889.png)]
说明Pytorch安装成功,也支持了cuda,解决了昨天的遗留问题。
但是,我实际需要的Pytorch的版本是要 >= 1.2,所以想着将所有的cuda版本更换为10.0,pytorch也更换为1.2,观察在仅支持cuda8.0的PC上安装CUDA10.0是否可行。
–2020年1月23日
将原先安装好的cuda8.0以及Pytorch1.0.1卸载之后,又安装了Pytorch1.2和cuda10.0以及对应的cudnn版本,重新测试了一下,测试结果显示,pytorch 和 cuda10.0 均已安装成功,但 pytorch 却不支持 cuda…
但还是有点不死心,百度了一番后,并没有得到什么解决的办法,只能怪科学技术发展和产品更新速度实在太快,我这三年前的“古董电脑”纵然有抬头问天“尚能饭否”的不甘,却也不得不服老啊,该死的安迪—比尔定律!
6.Pytorch 安装总结
-
共需安装3个东西
- CUDA Toolkit
- cuDNN
- pytorch
-
安装之前要查看自己电脑所支持CUDA的版本,如果理解没错的话,该版本即是所支持的CUDA的最高版本,安装的 CUDA Toolkit 与 Pytorch 中 cuda 版本都不应高于该版本。
控制面板 -> NVIDIA控制面板 -> 帮助 -> 系统信息 -> 组件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BZ5kYSv1-1579855387510)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\1579854275490.png)]
-
openSLL:如果添加镜像源channels再次安装仍有CondaHTTPError,考虑 SLL 是否出现问题,参考问题二解决。
-
镜像源:网上提供了许多镜像源网址,但其中可能有一些并不可行,如有需要,一定要的亲自检验一下该网址中是否包含pytorch的安装包。截止2020年1月24日,以下网址仍可用。
https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/
-
安装过程中涉及到的命令
conda相关命令(在cmd中运行)
conda config --add channels http://xxxxxxxxx #添加所需的镜像源 conda config --remove channeles http://xxxxxxx #删除某条channels conda config --get channels #查看已经现有的channels conda install pytorch==1.0.0 torchvision==0.2.1 cuda80 #安装pytorch,cuda8.0 conda uninstall cudatoolkit #卸载 cuda conda list #查看 conda 已安装的包 python #在cmd中打开python环境
检验cuda安装是否成功(cmd中运行)
nvcc -V
检验pytorch的安装(python中运行)
import torch #导入pytorch库 torch.__version__ #查看torch的版本 torch.cuda.version #查看torch中cuda的版本 torch.cuda.is_available() #检验是否支持cuda,返回True表示支持
–2020年1月24日