Я хочу запустить модуль MXNet в графическом процессоре.
У меня есть система, в которой установлена Ubuntu 18.04 вдоль Cuda 10.0.Очевидно, это еще не покрыто бинарными файлами MXNet, поэтому я сосредоточился на установке 2 версий cuda на моем компьютере (см. Также здесь ).
В любом случае, у меня теперь есть2 набора инструментов cuda в моем компьютере в разных папках.Мне нужен способ заставить мою систему использовать Cuda 9.2 при запуске из PyCharm.Самое смешное, что с типичной консоли я могу нормально ее запустить (по крайней мере часть загрузки MXNet, которая, конечно,).
В модуле, который я хочу запустить, программа застряла в:
import mxnet as mx
, что приводит к base.py
в MXNet:
def _load_lib():
"""Load library by searching possible path."""
lib_path = libinfo.find_lib_path()
lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL) # <- This is where is throws the error.
# DMatrix functions
lib.MXGetLastError.restype = ctypes.c_char_p
return lib
странно то, что lib_path[0]
просто указывает на местоположение libmxnet.so
(что, кстати, правильно) ивнезапно выдает ошибку:
OSError: libcudart.so.9.2: невозможно открыть общий объектный файл: нет такого файла или каталога
Даже если я отслеживаю трассировку ошибкипоследняя команда такова:
self._handle = _dlopen(self._name, mode)
с self._name
в том же месте, что и libmxnet.so
.
Я попытался заставить его работать, изменив системную переменную с помощью
os.environ["LD_LIBRARY_PATH"] = "/usr/local/cuda-9.2/lib64"
в качестве второй строки модуля (1-й, конечно, import os
!), Но, похоже, это не работает.Видимо, это принято во внимание.
Итак, как я могу обойти это?Любое решение будет приемлемым, если вы находитесь на стороне MXNet или pyCharm.