Как исправить ‘ImportError: /home/… …/lib/libtorch.so.1: неопределенный символ: nvrtcgetprogrammlogsize’ в DGL?

#pytorch

#pytorch

Вопрос:

Я получаю ошибку при импорте pytorch внутри dgl (библиотека Deep Graph от DeepMind), конкретно:

ImportError: /home/user/anaconda3/envs/my_env/lib/python3.7/site-packages/torch/lib/libtorch.so.1: неопределенный символ: nvrtcgetprogrammlogsize

Я попытался переустановить pytorch (удалить переустановить с conda un/install помощью ). Я также ищу в Google и нашел это 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.

Комментарии:

1. вы пытаетесь запустить это на графическом процессоре?

2. Нет, я пытаюсь в процессоре.

Ответ №1:

Я тоже столкнулся с этим, но на самом деле я хотел использовать графический процессор, поэтому установка pytorch-cpu не была для меня вариантом.

Вместо этого установка pytorch пакета с pytorch канала (вместо defaults ) решила проблему для меня: conda install pytorch --channel pytorch

Ответ №2:

Я только что исправил это же исключение с помощью conda install pytorch-cpu

Ответ №3:

Вы должны запустить свой код на компьютере с графическим процессором и убедиться, что ваш pytorch является графическим процессором