1

我正在尝试在iJulia笔记本中运行 mxnet 的编译版本,但是当我执行命令时using MXNet,出现以下错误:

InitError: error compiling __init__: error compiling _populate_symbol_creator_cache!: error compiling _get_atomic_symbol_creators: could not load library "/home/milton/mxnet/lib/libmxnet.so"
libcudart.so.7.5: cannot open shared object file: No such file or directory
during initialization of module mx

in _include_from_serialized(::String) at ./loading.jl:150
in _require_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:187
in _require_search_from_serialized(::Int64, ::Symbol, ::String, ::Bool) at ./loading.jl:217
in require(::Symbol) at ./loading.jl:371

考虑到它可能是 ENV 被清除,我补充说:

ENV["MXNET_HOME"] = "/home/milton/mxnet"
ENV["LD_LIBRARY_PATH"] = "/home/milton/mxnet/lib:/usr/local/cuda/lib64"

这使我可以毫无错误地执行指令using MXNet,但在尝试执行 mxnet 库中的任何命令时再次引发错误

error compiling #Variable#215: could not load library "/home/milton/programming/mxnet/lib/libmxnet.so"
libcudart.so.7.5: cannot open shared object file: No such file or directory

in Variable(::Symbol) at /home/milton/.julia/v0.5/MXNet/src/symbolic-node.jl:232

我该如何解决?还有其他地方我需要定义路径吗?REPL 一切正常。

4

1 回答 1

1

我在GitHub 上得到了一些帮助。我在那里了解到,它LD_LIBRARY_PATH是由动态链接加载器处理的,并在程序启动时修复,如对这个SO question的回答中所述。即使在笔记本中弄乱它时它似乎发生了变化,但事实并非如此。

为了让它工作,我从jupyter-notebook一个具有正确LD_LIBRARY_PATH设置的终端开始(在我的情况下,我.bashrc自动包含了我的已编译路径mxnet/lib,因此它可以在任何本地终端中工作。它不在我的全局设置中)。

于 2017-05-02T23:42:43.507 回答