【问题标题】:CUDA version of package not importing?CUDA版本的包没有导入?
【发布时间】:2021-07-25 15:30:20
【问题描述】:

首先,我安装了 torch 1.1.0,然后我安装了它的依赖项。所以,我可以导入 torch_scatter 1.2.0 但是在导入 torch_scatter.scatter_cuda 时出现此错误:

 import torch_scatter.scatter_cuda
ModuleNotFoundError: No module named 'torch_scatter.scatter_cuda'

我安装了 Cuda v10 并且我有一个 GPU。这段代码的所有要求都是通过 pip 在我的虚拟环境中一次性安装的。

【问题讨论】:

  • 这可能是pippython 可执行文件不对应的情况,即使它在虚拟环境中也是如此。 pip listpython -m pip list 是否给出相同的输出,相关的包在两个列表中是否可见?
  • @9769953 是的,它们在我看来是一样的!两者都包括所有正确的包。

标签: python terminal pip pytorch torch


【解决方案1】:

正如 phd 所指出的 - 看起来 pytorch_scatter 的 setup.py 文件会自动检查并使用可用的 cuda 安装。

在您使用的版本中也可以看到here

...
if CUDA_HOME is not None:
    ext_modules += [
                   CUDAExtension('torch_scatter.scatter_cuda',
                  ['cuda/scatter.cpp', 'cuda/scatter_kernel.cu'])
    ]
...

可能是CUDA_HOME是否可用的问题。

按照here 的建议,从源代码安装可能会为您提供更多信息。

【讨论】:

  • 是否可以检查 CUDA_HOME 是否在任何地方可用?你知道我如何从源代码安装吗?
  • CUDA_HOME 被导入为from torch.utils.cpp_extension import CppExtension, CUDAExtension, CUDA_HOME,所以你可以看看它是否适合你。要从源代码安装,请将 git 存储库下载到一个文件夹中,cd 进入它并使用 python setup.py install。 torch_scatter 的作者说这可能会导致从 PyPI 安装时没有遇到的错误。
  • 另外,请确保您已检查 CUDA 是否在您的路径中,如下所述:github.com/rusty1s/pytorch_scatter/tree/1.2.0#installation
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-26
  • 2017-11-28
  • 2019-12-31
  • 2012-05-03
  • 2021-07-16
相关资源
最近更新 更多