#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 является графическим процессором