由于之前安装anaconda的时候已经安装了cuda(大概),而且cuda和GPU有关,所以这里暂时没提到关于cuda的安装。
这个文档可以解决import torch报错的问题
最基础的方法
pytorch官网:https://pytorch.org/
选择合适的conda或者pip方法,在dos窗口里复制粘贴即可。
(备注一个用清华源的conda下载方式,参考:https://www.cnblogs.com/yufeng97/p/13069247.html)
# 添加清华镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# 添加pytorch镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
conda config --set show_channel_urls yes
然后复制之前的conda代码,但是要去掉官网的 -c pytorch
如:
conda install pytorch torchvision cudatoolkit=10.2
坑:在运下载过程中可能会一下子停住停很久,按一下esc就可以继续了,也不知道为什么。
也有可能某个文件下载很久,所以可以尝试下一个方法。
更快速的下载方法
建议在基础方法尝试无效后进行
参考:https://blog.csdn.net/weixin_44398263/article/details/107709934
先进入pytorch官网查看一下自己所需的pytorch和torchvision版本
然后在清华源(https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/?C=M&O=D)上找到对应版本下载两个文件:(写下这篇文章的时候 是py37+cu102,这个需要的具体数字也可以在基础方法运行后,在dos窗口里看需要下载的文件版本,这样更准确)
下载下来的文件不用解压,输入以下命令分别安装两个包:
conda install --offline pytorch-1.6.0-py3.7_cuda102_cudnn7_0.tar.bz2 #文件全称
conda install --offline torchvision-0.7.0-py37_cu102.tar.bz2 #文件全称
注意一定是要文件全称啊!包括.bz2后缀
不到一分钟安装完成,然后安装依赖包:
conda install cudatoolkit=10.2
这里一定要记得安装cudatoolkit!更重要的原因是conda会分析你要安装的包的运行环境然后给你自动安装它的一系列依赖包。前面我们为了节省时间是单独下载安装的pytorch和torchvision这两个包,并没有使用conda命令安装它们的依赖包,所以在import时会直接报错。
补充:在cuda11.1的版本下安装时候,cudatoolkit巨大,没法直接用conda安装,所以考虑在镜像中下载其他依赖包:https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/
最后,我们再测试一下是否安装成功。输入:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda_version)
我在工位电脑安装的时候第二句显示FALSE,我怀疑是因为没有gpu,以后有机会在别的地方试一下。