因为毕设需要安装pytorch,学长轻飘飘地丢给我一句“CSDN有教程”就撂了。但是现在搜得到的教程大多都非常老旧以至于根本无法使用!!
煎熬了一个多星期,这可恶的玩意终于让我解决了!决心写一份最新的指南给跟我一样在学长的懒惰中苦苦挣扎的萌新们!第一次写指南,也许有许多不清楚之处,欢迎你的捉虫我们可以一起讨论进步,祝你一次安装成功!
1.根据大佬教程顺利安装Anaconda,获得关键道具Anaconda Prompt等。Anaconda安装(Python) - 知乎 (zhihu.com)
2.(由于我安装的pytorch是gpu版本,还需要安装cuda和cudnn)根据大佬教程安装,获得道具cuda以及cudnn(记住你下载的cuda版本号,我这里是cuda11.6)
win10安装CUDA和cuDNN的正确姿势 - 知乎 (zhihu.com)
先来前情回顾一下网站上那些误人子弟的pytorch安装方法(想直接看正确安装办法的话可以跳过这一部分):
1.外网官方下载慢
有些指南说“科学上网”可以解决这一问题。然而事实上“科学”后仍旧无法正常安装,复制pytorch官网的代码后Prompt永远地卡在了Solving environments这一步。
2.换用国内清华源路径
几乎70%的教程提到了选用清华源镜像路径,比如在cmd中输入“add channels https…………”,或者找到.condarc文件去修改路径,然后再把官网的下载代码中的“-c”删掉,最后去conda install。说实话,这样子更换之后理应万事大吉,但事实上,安装不上的样子跟1完全没有区别呢!!我一直不明白为什么镜像源还是不好用,直到我偶然间看到某一教程底下的热评:“清华源的pytorch已经被封锁不好用了,大家散了吧。” ……于是这条路也寄了。
3.利用whl文件先下载后安装
既然前两条路都走不通,那么可行的办法只剩这一条了。先自行下载whl,后pip install文件。
那么正式开始我们的pytorch安装之旅!
由于创建虚拟环境时最好与现存python版本对应(我默认来看这篇教程的你是个跟我一样的小白,因此默认你的电脑里只有一个版本的python),我们需要先查看一下anaconda给我们安装的python的版本号。
打开Prompt,输入python,回车后即可看到当前安装的python版本,我这里是3.9,记住。
输入exit() 退出python,回到(base)环境。
exit()
为了保证教程正确性,我重新安装了一次,在这里我将新环境命名为pytorchtest,你可以直接将其命名为pytorch。
conda create -n pytorchtest python==3.9
#创建虚拟环境 #环境名称 #你的python版本
然后会提示继续安装,输入y。
虚拟环境创立完成。
根据提示,输入:
conda activate pytorchtest
进入我们刚刚设立的虚拟环境中。
然后你会发现前面的括号变成了(pytorchtest),这就意味着我们进来了。
如果想退出当前环境,同样根据上图提示,输入 conda deactivate 即可。
GitHub - pytorch/vision: Datasets, Transforms and Models specific to Computer Vision
进去之后往下拉,在Installation这里可以看到较新的对应版本。
(不过事实上目前最新的torch是1.13.1,对应的torchvision版本是0.14.1, 而torchaudio的安装对于版本号不敏感,亲测0.13.0以及0.13.1均可顺利安装)
记住你需要下载torch和torchvision版本号!!!记不住就写下来吧不丢人!
在网站https://download.pytorch.org/whl/torch_stable.html寻找你需要的whl。文件命名乍一看乱,但是规律性很强,下面来翻译一下。
密码规律破解之后,你就可以用ctrl+f来寻找你需要的whl文件啦!你需要下载的文件一共有三个,分别是torch,torchvision 和 torchaudio。 你可以直接将它们下载到默认路径,默认路径在Prompt中可以看到。比如说我的默认路径就是C:\用户\songy,见下图。
首先安装torch。找到你的默认地址,复制一下torch文件那个巨长的名字,比如说我这里是torch-1.13.0+cu116-cp39-cp39-win_amd64.whl
回到Prompt里面,确认你已在虚拟环境中,输入:
pip install torch-1.13.0+cu116-cp39-cp39-win_amd64.whl
运气好的话就会显示顺利安装啦!
继续安装torchvision。同理找到whl文件的名字。
输入:
pip install torchvision-0.14.0+cu116-cp39-cp39-win_amd64.whl
然后你可能会遇到下图这样的问题,比如说 由于环境缺少numpy,它会开始自动下载,但是速度慢到惊为天人,最终你见到了触目惊心的满屏幕飘红,然后告诉你Read timed out.
连numpy都没有然后又给我搞外网是吧,怎么可能在这里放弃!坚强拆那永不言弃!
敏锐的你似乎发现了,这个numpy文件的命名形式如此眼熟,.whl的后缀如此亲切。
是的!为什么我们不可以像下载pytorch一样去下载这些包呢!
直接进行一个百度的搜,获得了下载网站PyPI · The Python Package Index
搜一下Prompt想让我们下载的库,进入左侧Download Files,下载!pip install 安装!
与此类似,还可能出现pillow,certifi,idna这几个超时error无法下载的包。全部以同方式自己下载好后pip install安装。
我的情况是,每安装完一个新包后,都运行一下pip install torchvision-0.14............, 然后再看在哪一个库的下载时发生超时error,之后去相应地手动下载。因为不知道你看到这个教程时所需的版本如何,所以笨拙的我建议你也跟我一样,每次下载并安装一个包,再安装torchvision看看它还需要你装什么。
最后安装torchaudio。
pip install torchaudio-0.13.0+cu116-cp39-cp39-win_amd64.whl
至此,你应该成功安装了全部Pytorch包,祝贺你!但是我们还需要最后确认是否安装成功,以确定一会儿要买多贵的香槟来开瓶庆祝。
输入:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
输出结果如下即成功安装pytorch。
如果至此你能成功安装的话,祝贺你,你完成了跨越的一步!如果在某一步遇到了其他问题,不要着急(要知道我可是花了一周!),根据报错慢慢寻找解决方法,你一定可以解决它,然后更上一层楼。
祝我们都可以继续进步!欢迎捉虫、讨论!