在pytorch安装中,参考了很多前人的方法,但仍然踩坑,目前没有安装成功。
一、conda安装
先是在pytorch官网上试着用conda安装,
同时添加了conda安装清华源的唯一镜像源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
目前conda的镜像源如下,使用命令进行查看:
conda config --show-sources
接着又按照一般方法(他人的帖子)进行了安装:
如同这篇所说的,conda安装不成,报了一堆版本不匹配的错误,遂踏上漫漫不归的pip安装之路;
二、pip 安装
pip安装,首先考虑我这台新电脑上换源的问题,这时候我才意识到虽然以往会换源,但从来没意识到conda换源和pip换源要分开进行,pip安装和conda安装也应当分别进行,最好一个环境中保持统一。之前也出现过conda和pip安装冲突问题,可以说是踩了一堆坑。。。
目前搜了下,关于如何理解conda、pip、全局的pip以及每个虚拟环境中的pip问题,仍然没有找到相关资源进行深刻理解。现在的理解是,在anaconda的各个虚拟环境中,只要指定了python版本,就会有对应的pip.exe,想使用虚拟环境中单独的pip.exe,仅对该环境中添加一些包,可使用:
python -m pip <packege>
也可以单独用conda安装,但是为了避免麻烦,还是使用上面那种,详见我之前的博文
annaconda 虚拟环境安装包pip安装与conda 安装冲突混乱问题
3、正式开始探索
试图在全局的pip中更换清华源:
可以看到我pip的镜像源的文件pip.ini所在位置。不存在pip.exe,只有pip文件夹
而我希望pip的虚拟环境中的pip:
使用
python -m pip <packege>
虚拟环境中pip可以用到pip.ini中的镜像源吗?不知道,接下来继续探索,
首先激活并进入虚拟环境,查看当前环境下安装包:
可以看到pytorch没有安装成功,而且一般创建虚拟环境后的pip都不是最新版,所以要先更新pip:
还是谨慎地使用python -m 更新pip:
python -m pip install --upgrade pip
先用pytorch官网的版本库的命令进行安装:
Previous PyTorch Versions | PyTorch
把 -c pytorch 去掉,因为-c pytorch指定只能从pytorch安装,但是显然我们安装了pip的清华源镜像,故不用加这个后缀:
conda install pytorch==1.4.0 torchvision==0.5.0 cpuonly
过程中没来的及截图,基本没问题,很快安装好了。但是安装完才发现!我还是用conda安装的啊!!!! 至于第一次为什么安装错,报了torchvision和torch的各种冲突错误,应该是使用这条命令
conda install pytorch torchvision torchaudio cpuonly
没有指定版本的关系。
查看当前虚拟环境安装包:用命令 conda list:
可以看到pytorch1.4在conda list里,而且来源为conda pytorch 镜像源了。
然后验证!
持续报错,心灰意冷,不知所措。似乎是没截图的安装过程中清华源中的一些冲突,不死心,看到有些文中要重复安装,遂决定再试:
只有一个pip要安装???
果然仍然报错。。。。
重新创建新环境!
1、创建名为pytorch的虚拟环境:
conda create -n pytorch python==3.6
2、更新pip
python -m pip install --upgrade pip
2、查看安装包
3、pip安装pytorch,查看官网过往版本
可以看到有:
pip install torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
改为:
python -m pip install torch==1.4.0+cpu torchvision==0.5.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
运行界面:
最终:
查看当前conda list:
看上去没问题,进一步验证。
仍旧报错。
在网上查了一下这个error,把怀疑指向了安装的python版本不对,python、torch、torchvision存在版本对应问题,而后两者版本对应是在官网上安装的,那么只可能是python版本与后两者不匹配了,调查后发现有人指出python3.6.0版本不匹配问题
4、升级python
使用命令:
conda install python==3.6.7
现在的conda list:
最终测试:
哈哈,总算成功了。
所以最终的完成版本是python3.6.7 +
torch==1.4.0+cpu torchvision==0.5.0+cpu
三、对conda 命令安装cpu版本pytorch的进一步改进
用pip安装完,回头再去看之前pytorch14虚拟环境中用conda命令安装报错,怀疑也可能是python版本问题,于是同样升级python到3.6.7
检查 conda list发现,用conda 安装pytorch比用pip安装多了很多包,这个错误跟numpy版本有关,那么会不会是一开始创建python版本时就错了呢?于是我又建了一个环境,这次虚拟环境从一开始就设定python版本为3.6.7.
果然是python环境的问题。
四、总结
这次在新电脑上安装了cpu版本的pytorch,总结一下:
第一,pytorch有两种安装方式,conda和pip,在创建虚拟环境前一定要安装好对应的conda 的 pytorch 清华镜像源,以及pip对应的源;
第二,在虚拟环境创建时,一定要决定好python、pytorch、orchvision三者的版本对应关系。后两者的版本对应关系一定要在pytorch官网上找好。我这次仅仅确定了python3.6.7与pytorch1.4.0的对应关系,也因为一开始没重视这些对应关系而走了很多弯路,在深度学习中,环境与安装包的版本一定要对应!!!重点的一定要记住!!!
第三,创建虚拟环境后,第一件事情查看conda list,当前环境安装包,其次一定要更新虚拟环境中的pip,每次创建虚拟环境后都要及时更新,然后再安装其他包!
安装成功。一下午结束了。