无法使用 Conda 将 PyTorch 1.4.0 更新到 1.5.0

Unable to update PyTorch 1.4.0 to 1.5.0 using Conda

当我尝试将 PyTorch 从 1.4.0 更新到 1.5.0 时,Anaconda 说所有包都已安装。

$ conda install -c pytorch pytorch torchvision

Collecting package metadata (current_repodata.json): done
Solving environment: done

# All requested packages already installed.
$ conda list | grep -i torch

_pytorch_select           0.2                       gpu_0  
pytorch                   1.4.0           py3.7_cuda10.0.130_cudnn7.6.3_0    pytorch
torchvision               0.5.0                py37_cu100    pytorch

我相信 1.5.0 可以在 pytorch 频道

$ conda search -c pytorch pytorch=1.5.0

Loading channels: done
# Name                       Version           Build  Channel             
pytorch                        1.5.0     py3.5_cpu_0  pytorch             
pytorch                        1.5.0 py3.5_cuda10.1.243_cudnn7.6.3_0  pytorch             
pytorch                        1.5.0 py3.5_cuda10.2.89_cudnn7.6.5_0  pytorch             
pytorch                        1.5.0 py3.5_cuda9.2.148_cudnn7.6.3_0  pytorch             
pytorch                        1.5.0     py3.6_cpu_0  pytorch             
pytorch                        1.5.0 py3.6_cuda10.1.243_cudnn7.6.3_0  pytorch             
pytorch                        1.5.0 py3.6_cuda10.2.89_cudnn7.6.5_0  pytorch             
pytorch                        1.5.0 py3.6_cuda9.2.148_cudnn7.6.3_0  pytorch             
pytorch                        1.5.0     py3.7_cpu_0  pytorch             
pytorch                        1.5.0 py3.7_cuda10.1.243_cudnn7.6.3_0  pytorch             
pytorch                        1.5.0 py3.7_cuda10.2.89_cudnn7.6.5_0  pytorch             
pytorch                        1.5.0 py3.7_cuda9.2.148_cudnn7.6.3_0  pytorch             
pytorch                        1.5.0     py3.8_cpu_0  pytorch             
pytorch                        1.5.0 py3.8_cuda10.1.243_cudnn7.6.3_0  pytorch             
pytorch                        1.5.0 py3.8_cuda10.2.89_cudnn7.6.5_0  pytorch             
pytorch                        1.5.0 py3.8_cuda9.2.148_cudnn7.6.3_0  pytorch    

为什么 conda 没有将 PyTorch 更新到 1.5.0?

在 Ubuntu 18.04

上使用 Python 3.7.3 和 conda 4.8.3

谢谢!

安装验证约束

Conda install 首先检查是否满足约束条件,而不是盲目尝试安装最新的所有内容。更好地阅读命令:

conda install -c pytorch pytorch torchvision

会是

With the pytorch channel prioritized, ensure that the currently activated environment has some version of pytorch and torchvision installed.

您的环境已经满足此约束条件,因此无事可做。

更新包或约束

如果你想更新一个包,然后查看 conda update 命令,或者,如果你知道你需要的最低版本,然后指定它:

conda install -c pytorch pytorch[version='>=1.5'] torchvision

这有效地改变了约束。

更好的做法(推荐)

最佳做法是在需要更改包时简单地创建一个新环境。每次更改环境中的包时,都会冒 breaking/invalidating 现有代码的风险。

conda create -n pytorch_1_5 -c pytorch pytorch torchvison

这将默认获取最新的可能版本。