安装cudatoolkit可以使用conda install,但不能使用conda create -f



我有一个PyTorch环境文件:

name: torch
channels:
- defaults
- conda-forge
dependencies:
- python=3.7
- pytorch::pytorch
- pytorch::torchvision
- pytorch::torchaudio
- pytorch::cudatoolkit
- numpy
- scipy
- scikit-learn
- matplotlib
- pillow
- tqdm
- joblib
- visdom
- jsonpatch
- pip
- pip:
- torchsummary
- opencv-python==4.1.1.26

尝试用conda create -f torch.yml创建conda环境失败:

(base) prompt@PC:~$ conda env create -f environment.yml 
Collecting package metadata (repodata.json): done
Solving environment: failed
ResolvePackageNotFound: 
- pytorch::cudatoolkit

如果我从依赖项列表中删除cudatoolkit,则创建的环境没有问题。

然而,conda install cudatoolkit -c pytorch发现并安装包没有问题。在这两种情况下,如果我用cudatoolkit=11.3(PyTorch网站上列出的当前最新版本)替换cudatoolkit,也会发生同样的情况。

出现此错误是因为conda没有找到名为pytorch::cudatoolkit的包。

你的yml env文件必须看起来像这样:

name: torch
channels:
- defaults
- conda-forge
- pytorch
dependencies:
- python=3.7
- pytorch
- torchvision
- torchaudio
- cudatoolkit=11.3
- numpy
- scipy
- scikit-learn
- matplotlib
- pillow
- tqdm
- joblib
- visdom
- jsonpatch
- pip
- pip:
- torchsummary
- opencv-python==4.1.1.26

我设法通过从nvidia通道安装cudatoolkit而不是pytorch来解决这个问题。我仍然不确定为什么cudatoolkit可以从pytorch中使用一种方法而不是另一种方法,但这解决了我的问题(尽管nvidia版本似乎更大,所以它可能是pytorchcudatoolkit的超集包)。我的YAML文件现在看起来像这样:

name: ritnet
channels:
- defaults
- conda-forge
dependencies:
- python=3.7
- pytorch::pytorch
- pytorch::torchvision
- pytorch::torchaudio
- nvidia::cudatoolkit=11.3
- numpy
- scipy
- scikit-learn
- matplotlib
- pillow
- tqdm
- joblib
- visdom
- jsonpatch
- pip
- pip:
- torchsummary
- opencv-python==4.1.1.26

最新更新