背景介绍:根据自己要复现的代码的环境要求,我选择了自己的pytorch版本是1.8.1,python==3.7+,再结合自己显卡的cuda版本,比如我是12.4,要选择的cudatoolkit版本应该小于你的cuda,如果找不到合适的,就先去升级你自己显卡的版本,在nVidia升级。找到我需要的pytorch命令。
这里我选择了cudatoolkit=11.3,按照此命令去conda安装,最后conda list 检查发现还是cpu版本。
看了很多文章,有的说是用conda里的pip渠道来安装,我试了还是不可以,仍然为cpu版本,这里附上一个链接。好文:作者说全网最稳妥通用的GPU版本pytorch安装教程,写的确实很详细
但是,但是,重点来了。因为我要去服务器上配置环境。让我机缘巧合地发现,服务器平台在你创建实例时会让你选择环境,他们提供的版本号组合没有torch官方的组合,因此我直接在conda用他们提供的版本号来安装。(记得重新激活一个环境,保持干净的环境,用镜像源安装也不会浪费很多时间。)
pip install pytorch==1.8.1 torchvision==0.9.1 torchaudio==0.8.1 cudatoolkit=11.1 -c pytorch -c conda-forge
这是conda里的命令。
这里把cudatoolkit版本改成了11.1。安装后为GPU版本的pytorch以及torch vision。
原因我认为是conda本身对环境内兼容性的要求比较高,毕竟专门做这个的,pytorch官网给的命令达不到conda的要求,因此就安装了cpu版本的,conda真的会为了兼容性改变你安装的库的版本。并且有时候一些包的指定版本不允许你安装,直接去pip安装就好了,pycharm能识别和运行的。所以太严格也不见得是好事。
另一方面,服务器提供的组合算是大佬们找到的,试验过合理的,所以能直接安装吧。这点只算是我的猜想。
希望对大家有帮助。