问题描述
当我使用conda install pytorch
安装pytorch时,总是给我默认安装cpu版本。如下所示,搜索到的pytorch是cpu_py39hdc00b08_0
。
Package Version Build Channel Size
─────────────────────────────────────────────────────────────────────────────
....
+ pytorch 2.2.0 cpu_py39hdc00b08_0 pkgs/main 74MB
也可以在安装完毕后,运行下面的代码:
import torch
torch.cuda.is_available()
如果得到True
,说明是gpu版本;如果得到False
说明是cpu版本。
尝试解决
网上的解决方法有,
1. 取消使用清华源
清华源中只有cpu版本的pytorch,改用默认源。我原本的确使用清华源,但是我移除所有清华源并清除cache缓存后,使用默认源得到的仍然是cpu版本。
2. 在安装包时指定信息
例如:conda install pytorch-cuda
、conda install pytorch-gpu
或者conda install pytorch-cuda=xxx
。这些方法对于我而言,全部无效。他们或是提醒不支持我的python版本(需要更低的版本),或是提醒我没有找到相应的包。
而且,我觉得conda
应该是可以自动检测我的cuda版本并且为我安装相应的pytorch,不需要我去显式地指定这些信息。
最终解决策略
在conda的channel中添加conda-forge
并且将其设置为最高优先级。
使用指令:conda config --add channels conda-forge
添加conda-forge
并且设置为最高优先级。
使用指令:conda config --get channels
查看当前的channel和优先级。
现在,conda将会有限从conda-forge
中搜索pytorch,然后正常使用conda install pytorch
即可获得gpu版本的pytorch。