重装pytorch历程-问题-解决

用conda install时报错:An HTTP error occurred when trying to retrieve this URL. HTTP errors are often intermittent…

我要做的事:
想使用torchinfo包,但是这个包可能是比较新,我的pytorch版本比较旧,所以引包的时候会报错,所以需要更新pytorch嘛,结果网上随意下载包时,更新换代了一些pytorch本应固定版本的包,包的版本对应不上,结果导致pytorch不能用了,有很多错误,而我具体改了哪些都是电脑自动更新的,我也不知道,为此我想着直接卸了重装。

我一开始装pytorch的时候是参考炮哥的教程,就是装好anconda后设置好环境再,直接pytorch官网(https://pytorch.org/)选择好对应版本然后直接下载。

此时出现问题了:第一次安装是2022年6月当时是11.3版本,复制命令是:conda install pytorch torchvision torchaudio cudatoolkit=11.3,现在更新到11.7了,复制命令是:conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia,(当然11.7后面的就不要复制了,因为咱们用的是国内的源)

我之后再安装的时候,直接复制了11.7的,和原版本有差别,所以直接报错!具体报错原因:在用pytorch官网命令下载的时候,不仅装了pytorch还有对应的torchvision、cudatoolkit,torchaudio这些额外的包和原版本的pytoch的版本必须是对应的才行,而且这个cudatoolkit在2023年1月(通过看11.7的命令)官方改成了cuda。包都换了。

所以,这时候必须把torchaudio、cudatoolkit、torchvision都换了才行,然后就直接pip uninstall +包名全卸载了,到时候直接安装。

以下是之后的问题即解决过程:

问题分析与解决方法:

1.一开始,参考https://blog.csdn.net/gyyu32g/article/details/104611322这些文章,意思是就是下载来源的问题,要解决的话,就是从镜像源下手。

2.但是我个人解决的时候,更改了镜像源。同时针对还出现的‘Solving environment: failed with initial frozen solve. Retrying with flexible solve.’这个问题(就是镜像源太多,没有设置好优先级的原因)(参考:https://blog.csdn.net/Sakura_Logic/article/details/108312146),可以通过代码直接修改优先级,另外修改镜像源可以直接修改对应位置的文件( C盘/用户/(你的用户名xx)/.condarc)。

3.以上都试了以后,还是有问题,我换了镜像源,命令用的是conda install pytorch torchvision torchaudio pytorch-cuda=11.7,还是有报错,说是这些源当中没找到对应资源,就是题目的这个问题,于是之后我换了更低的版本,还是说没找到对应的资源,之后看网上说需要每个包都指定对应版本,命令换成:conda install pytorch1.13.0 torchvision0.14.0 torchaudio==0.13.0 cudatoolkit=11.7。结果还是报错。

4.以上的都报错,我就觉得问题只有一个了,我因为我用的是conda install,我头一次用这个命令还装的上,不知道为啥后面就不行了。也不管为啥了,我直接打开pycharm终端,直接pip install,命令换成:pip3 install torch torchvision torchaudio -i https://pypi.tuna.tsinghua.edu.cn/simple。

然后解决了,并且电脑装的是Successfully installed torch-1.13.1 torchaudio-0.13.1 torchvision-0.14.1。我原本的是1.7.1:
Attempting uninstall: torch
Found existing installation: torch 1.7.1+cu101
Uninstalling torch-1.7.1+cu101:
Successfully uninstalled torch-1.7.1+cu101
这里他直接给我卸载了,重新装了个低版本的。(版本对应网站:https://pytorch-geometric.com/whl/)
反正能用了,后续可能还有错误,但是目前能用了,后面再有错我再改版本,反正不要用conda install了直接用pip install。
另外,我不知道torchinfo需要对应的pytorch版本到底是啥,反正我现在这个1.13.1版本的torch能用这个torchinfo这个包!
5.参考:https://blog.csdn.net/qq_46037444/article/details/125991109。
再更新一下,步骤4当中下载的pytorch有问题,是cpu版本的,故又得重装。至于为啥是cpu版本的。原因:我没有指定cpu还是cuda的,所以就自动找了一个cpu版本的。这里值得注意的是,我的cuda是11.7.101的,所以我可以安装的pytorch11.7版本及以下的包。因为它一般是向下兼容的,保险起见,我最后选择的是11.6版本的,此时进入官网https://pytorch.org/get-started/locally/
重装pytorch历程-问题-解决_第1张图片
如上进行选择,复制其中的 pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116 -i https://opsx.alibaba.com/mirror。后面再加上镜像源,这里我在下载的时候清华源不够稳定,会中断,但是用阿里源下载上了。

镜像源:
-i https://opsx.alibaba.com/mirror
-i https://pypi.tuna.tsinghua.edu.cn/simple

最后重装成功,
import torch
a=torch.cuda.is_available()
print(a)

输出:True

另外torch 11.6的也能用torchinfo

二.anconda和pip的区别
参考:https://blog.csdn.net/qq_44886213/article/details/123171762
1.pip的库比anconda多很多很多,可能是这个原因导致我conda install的时候它找不到对应的包,然后就直接提示我让我换源试试,当然换了它没有还是没有所以一直报错。
2.anconda可以设置多个环境,在不同的环境中我可以指定对应的python的版本,要知道很多包的使用需要对应上对应的python版本的,就比如(https://blog.csdn.net/qq_46037444/article/details/125991109)当中说的。所以可以设置多个环境并且设置多个python就可以隔离开这些环境,我用到那个,就用那个环境。

但是,我有个问题就是,我之前是用anconda装好了一个环境命名为pytorch然后对应的python版本为3.8,在pycharm设定好是这个环境后重装pytorch历程-问题-解决_第2张图片
就红线标的这里都设置好后,我直接在终端用pip下载的包就算是直接下载到这个环境下的包列表了嘛?那这样的话和conda install有啥区别呢?

目前也不知道为啥,反正(https://blog.csdn.net/qq_46037444/article/details/125991109)当中的建议很好,就是能conda install 尽量conda install 不能再用pip install

总结:
1.cuda和torch版本对应查阅https://download.pytorch.org/whl/torch_stable.html
参考:https://blog.csdn.net/qq_46037444/article/details/125991109

ok,总结完毕,其中的问题,如果有大佬知道,希望大佬能评论区指点一下,感激不尽!

你可能感兴趣的:(pytorch,python,深度学习)