我在一个环境中安装了以下内容:
cudatoolkit=11.3
pytorch=1.11.0
torchvision=0.12.0但是,当我问火炬/库达版本时,我得到了这样的信息:
$ python3 -c "import torch; print(torch.__version__)"
1.12.1+cu102 这不是我想要的(1.12.1很好,但是cu102太老了)。再看一看,我看到:
$ conda list torch
# packages in environment at /home/ml/anaconda3/envs/ldm:
#
# Name Version Build Channel
pytorch 1.11.0 py3.8_cuda11.3_cudnn8.2.0_0 pytorch
pytorch-lightning 1.4.2 pypi_0 pypi
pytorch-mutex 1.0 cuda pytorch
torch 1.12.1 pypi_0 pypi
torch-fidelity 0.3.0 pypi_0 pypi
torchdiffeq 0.2.3 pypi_0 pypi
torchmetrics 0.6.0 pypi_0 pypi
torchvision 0.12.0 py38_cu113 pytorchcode 所以“火把”有我想要的版本(用cuda11.3),但是“火炬”是1.12.1。为什么?此外,“火炬”似乎不是一个conda软件包(试图安装时的PackagesNotFoundError),这是令人惊讶的,因为它出现在"conda列表“中。
很明显,我对康达/毕道尔有些东西不太了解。谁能解释一下吗?
发布于 2022-09-29 00:54:32
据我所知,torch包使用LuaRocks包管理器。如果你主要在python中使用它,你应该瞄准“PyTorch”,而conda只负责处理这个问题。
对于您的情况,我强烈建议您创建一个新的环境,并从一开始就重新安装PyTorch及其组件。阅读此相容矩阵并尝试根据这些表安装它。
发布于 2022-09-29 17:14:02
所以最终“火炬”是假的(?)软件包是我以前安装的pytorch和cuda (带pip)。conda安装实际上使pip 1不再工作(“导入火炬”在环境之外不起作用)。更奇怪的是,我对虚拟环境的理解是,它至少不应该影响外部环境。
解决方案是用pip (外部环境)重新安装pytorch。之后,“进口火炬”在环境中发挥作用。这也是奇怪的,因为康达安装了他自己的版本的火把,显然没有使用它在最后。
我认为这是一个“答案”,因为它解决了我的问题,但我仍然不明白为什么康达会这样做。
https://stackoverflow.com/questions/73884354
复制相似问题