【问题标题】:How to fix 'ImportError: /home/... .../lib/libtorch.so.1: undefined symbol: nvrtcGetProgramLogSize' in DGL?如何修复 DGL 中的“ImportError: /home/... .../lib/libtorch.so.1: undefined symbol: nvrtcGetProgramLogSize”?
【发布时间】:2019-04-13 12:45:33
【问题描述】:

我在 dgl(DeepMind 的 Deep Graph Library)中导入 pytorch 时出现错误,具体来说:

ImportError:/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/torch/lib/libtorch.so.1:未定义符号:nvrtcGetProgramLogSize

我尝试重新安装 pytorch(使用 conda un/install 卸载重新安装)。我也在谷歌搜索,我发现了这个https://github.com/pytorch/pytorch/issues/14973。在那里,他们解决了它在libnvrtc.so 和libcuda.so 中的链接,但我不知道这意味着什么。有人知道吗?

这是基本代码:

import dgl
from parseador import train_df

g = dgl.DGLGraph()
g.add_nodes(5)
g.add_edges([0, 0, 0, 0], [1, 2, 3, 4])
g.ndata['h'] = th.randn(5, 3)
g.edata['h'] = th.randn(4, 4)

这是错误:

Traceback (most recent call last):
  File "/home/user/Documentos/Repo/grafos.py", line 1, in <module>
    import dgl
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/dgl/__init__.py", line 2, in <module>
    from . import function
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/dgl/function/__init__.py", line 5, in <module>
    from .message import *
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/dgl/function/message.py", line 7, in <module>
    from .. import backend as F
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/dgl/backend/__init__.py", line 46, in <module>
    load_backend(os.environ.get('DGLBACKEND', 'pytorch').lower())
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/dgl/backend/__init__.py", line 18, in load_backend
    mod = importlib.import_module('.%s' % mod_name, __name__)
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/dgl/backend/pytorch/__init__.py", line 1, in <module>
    from .tensor import *
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/dgl/backend/pytorch/tensor.py", line 5, in <module>
    import torch as th
  File "/home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/torch/__init__.py", line 102, in <module>
    from torch._C import *
ImportError: /home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/torch/lib/libtorch.so.1: undefined symbol: nvrtcGetProgramLogSize

如何解决此错误?前段时间我在 Windows 10 中正确运行了这段代码,现在我运行的是 Ubuntu 18.04。

【问题讨论】:

  • 你想在 GPU 上运行它吗?
  • 不,我正在 CPU 中尝试。

标签: pytorch


【解决方案1】:

我也遇到过这个问题,但我实际上想使用 GPU,所以安装 pytorch-cpu 对我来说不是一个选项。

相反,从pytorch 频道(而不是defaults)安装pytorch 包为我解决了这个问题:conda install pytorch --channel pytorch

【讨论】:

    【解决方案2】:

    我刚刚用conda install pytorch-cpu 修复了同样的异常

    【讨论】:

      【解决方案3】:

      您应该在 GPU 机器上运行代码并确保您的 pytorch 是 GPU

      【讨论】:

        猜你喜欢
        • 2014-04-12
        • 1970-01-01
        • 2020-04-06
        • 1970-01-01
        • 2021-04-17
        • 2017-05-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多