我有一个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
版本似乎更大,所以它可能是pytorch
的cudatoolkit
的超集包)。我的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