Не удалось импортировать факел (ImportError: libcudart.so.10.0)

В настоящее время я работаю над Nvidia Jetson Nano и не очень хорошо знаком с Linux. Я пытаюсь запустить файл Python, который импортирует пакет с именем torch. Я установил его вместе с torchvision, следуя инструкциям NVIDIA здесь.

Когда я запускаю pip list на своем терминале, я вижу, что факел указан как один из установленных пакетов. Однако я не могу запустить файл python из-за ошибки, показанной ниже. Когда я пытаюсь запустить его в оболочке Python, выскакивает та же ошибка. К вашему сведению: раньше у него были проблемы, поскольку система по умолчанию использовала Python 2, но я уже исправил путь, переключившись на Python 3, отредактировав файл .bashrc.

>>> import torch
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/jiayi/.local/lib/python3.6/site-packages/torch/__init__.py", line 81, in <module>
    from torch._C import *
ImportError: libcudart.so.10.0: cannot open shared object file: No such file or directory

Я пытался удалить и установить через pip, но безрезультатно. Когда я пытаюсь установить пакет pytorch (следуя инструкциям из репозитория github здесь), возникает ошибка, показанная ниже, и она связана с той же проблемой. Он может обнаружить, что пакет факела установлен, но, похоже, это внутренняя проблема.

Requirement already satisfied: torch==1.4.0 from file:///home/jiayi/jetson-inference/build/torch-1.4.0-cp36-cp36m-linux_aarch64.whl in /home/jiayi/.local/lib/python3.6/site-packages (1.4.0)
[jetson-inference]  cloning torchvision...
[sudo] password for jiayi: 
Cloning into 'torchvision-36'...
remote: Enumerating objects: 71, done.
remote: Counting objects: 100% (71/71), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 8219 (delta 37), reused 29 (delta 15), pack-reused 8148
Receiving objects: 100% (8219/8219), 10.22 MiB | 3.60 MiB/s, done.
Resolving deltas: 100% (5631/5631), done.
[jetson-inference]  building torchvision for Python 3.6...
Traceback (most recent call last):
  File "setup.py", line 14, in <module>
    import torch
  File "/home/jiayi/.local/lib/python3.6/site-packages/torch/__init__.py", line 81, in <module>
    from torch._C import *
ImportError: libcudart.so.10.0: cannot open shared object file: No such file or directory

[jetson-inference]  installation complete, exiting with status code 0
[jetson-inference]  to run this tool again, use the following commands:

    $ cd <jetson-inference>/build
    $ ./install-pytorch.sh

person Goh Jia Yi    schedule 22.05.2020    source источник


Ответы (2)


Я встречаю точно такую ​​же проблему. Проблема, кажется, cuda 10.2. Даунгрейд до 10.0 тоже не помогает. Вероятно, решение состоит в том, чтобы вручную установить все из Jetpack и убедиться, что устанавливаемая версия cuda — 10.0.0.

person Leo    schedule 31.05.2020

Вы можете проверить, установили ли вы правильную версию torch, которая поддерживает вашу cuda, проверив torch.version.cuda и убедившись, что это та же версия cuda, что и на вашем jetson nano.

Более простой способ установить torch — загрузить файлы .whl с сайта Jetson Zoo. Также может быть полезно обновить ваш nano до последних версий Jetpack.

person Yi Hang Tay    schedule 22.05.2020
comment
Когда я запускаю torch.version.cuda на терминале, он дает мне bash: torch.version.cuda: command not found. Так не должно быть, мне было интересно, знаете ли вы, почему, потому что я не совсем знаком с этим. - person Goh Jia Yi; 22.05.2020
comment
В вашей командной строке, пожалуйста, сделайте 2 вещи. nvcc -V Это покажет установленную cuda на вашем nano. Затем введите свой python и найдите версию torch cuda, выполнив следующие действия. python3 import torch torch.version.cuda. Это покажет вашу версию cuda факела. Пожалуйста, убедитесь, что они оба совпадают - person Yi Hang Tay; 22.05.2020
comment
Я смог запустить nvcc -V. Однако, когда я пытаюсь запустить import torch в своей оболочке Python, выдается ошибка, указанная в исходном вопросе (первый фрагмент кода). Это происходит, когда я открываю оболочку через python или python3. - person Goh Jia Yi; 22.05.2020
comment
Просто из любопытства, что выводит ваш nvcc -V - person Yi Hang Tay; 22.05.2020
comment
Вот: nvcc: Драйвер компилятора NVIDIA (R) Cuda Copyright (c) 2005-2019 NVIDIA Corporation Построено на Wed_Oct_23_21:14:42_PDT_2019 Инструменты компиляции Cuda, выпуск 10.2, V10.2.89 - person Goh Jia Yi; 22.05.2020
comment
Итак, похоже, что у вас установлена ​​CUDA 10.2, но ожидается CUDA 10.0. Вы можете либо найти pytorch, поддерживающий 10.2, либо понизить установленную версию CUDA до 10.0. - person Yi Hang Tay; 22.05.2020
comment
Спасибо за вашу помощь, но я считаю, что должна быть дополнительная проблема. Это связано с тем, что в ссылке, предоставленной Коэном здесь, у других есть несовместимые версии pytorch и cuda. но они все еще могут запускать import torch и torch.version.cuda без ошибки, которую я не могу сделать. Поскольку я использую pip, а не conda (на jetson nano), многие онлайн-решения неприменимы. - person Goh Jia Yi; 22.05.2020
comment
вы можете быстро проверить работоспособность, посмотрев, существует ли этот файл /usr/local/cuda-10.0/lib64/libcudart.so.10.0 Если нет, это означает, что файл действительно отсутствует. - person Yi Hang Tay; 22.05.2020