恰逢这一段时间国内的开源镜像都不太好用,又突然间要用Pytorch,只能自己琢磨了。历经两天,终于安装好了,太不容易了,写个博客纪念一下,也为小伙伴们提供个参考。
环境:Anconda3(Python3.7)+ CUDA9.0 + linux(64位) ,安装的是 pytorch (torch 0.4.1 + torchvision0.2.1)
Linux安装anaconda3请参考此链接:https://www.jianshu.com/p/e298b9d3afae
由于服务器之前安装过CUDA9.0了,这里就跳过此步骤。
查看cuda版本: (这里为 CUDA Version 9.0.176)
$ cat /usr/local/cuda/version.txt
查看cudnn版本:(这里为 cudnn 7.6.1)
$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
添加镜像到本地:
在终端输入
$ vim ~/.condarc
进入vim的编辑模式后,在里面添加想要使用的镜像,例如:
- https://pypi.doubanio.com/simple/
退出并保存之后就ok了,再使用pytorch官网的下载命令下载。但是最近这段时间,国内镜像不太好用,所以这条路就走不通了。
去官网的链接下载whl直接安装, https://download.pytorch.org/whl/cu101/torch_stable.html
上面这个是适用于cuda10.1的,改变这个数值为你的cuda版本即可。(这里你要知道你想要安装的torch和torchvision版本,按照这样安装,下面的就不用看了,哈哈哈。)
********************************************************************************************************************************
这也是我试出来的方法,哈哈,不过亲测可行。
只需在上面这个链接里面找你想要的版本的torch和torchvision下载即可。
(1)下载torch
首先,翻外网,直接下载torch的whl文件(下载名称根据自己的环境改变)这里linux64位,cuda9.0,python3.7 的话,torch-0.4.1的下载地址为:http://download.pytorch.org/whl/cu90/torch-0.4.1-cp37-cp37m-linux_x86_64.whl(替换规则:比如说想下载python3.6对应的版本的话,把链接对应处的 37 改为 36 即可,其他对应位置,如cuda版本,操作系统,torch版本都是同样的替换原理,这里足以说明规范命名的重要性~)
然后,把下载好的 torch-0.4.1-cp37-cp37m-linux_x86_64.whl文件传到服务器上,安装whl文件即可。
$ pip install torch-0.4.1-cp37-cp37m-linux_x86_64.whl
(2)下载torchvision
此处需要注意,下载的torchvision的版本的发布日期需要比已经下载好的torch的版本的发布日期早才可以匹配成功,否则会出现不match的情况。就比如我现在已经安装了torch-0.4.1(发布日期:2018.07),我下载了torchvision-0.3.0(发布日期:2019.05)就安装不上,下载torchvision-0.2.1(发布日期:2018.04)就成功安装了。
查看torch不同版本发布日期:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
查看torchvision不同版本发布日期:https://pypi.org/project/torchvision/0.2.1/#history
下载对应版本的torchvision(这里为torchvision0.2.1):https://pypi.org/project/torchvision/0.2.1/#files
最后把torchvision传到服务器上,安装即可。
(当然,也可以参考:https://blog.csdn.net/PC1022/article/details/80410376)
(或者,最简单的知道torch对应哪个torchvision的版本方法:到pytorch官网选择pip下载方式,就会告诉你下载哪个版本的torchvision~)
进入python,验证torch,torchvision,cuda是否可以正常使用~
$ python
Python 3.7.3 (default, Mar 27 2019, 22:11:17)
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> import torchvision
>>> torch.cuda.is_available()
True
(小缺陷:
由于服务器上装了好多版本的python和anaconda,所以在终端进入anaconda或者python时,可能会提示没有这个命令或者不是你想要的python版本,这时,只需进行以下修改,之后再进入python,就能进入到你想要的正确的版本了。
$ sudo vim ~/.bashrc
# 这里根据实际情况修改路径(用户名为你的Linux的用户名)
# 添加 export PATH = /home/用户名/anaconda3/bin:$PATH
$ source ~/.bashrc
)