2017-10-11 87 views
0

我花了整整一天的时间尝试弄清楚如何在R上运行mxnet GPU。软件包安装好的,但在库(mxnet)我得到一个错误:无法在Windows上成功运行Rx中的mxnet

错误:包或命名空间加载失败“mxnet”: .onLoad在loadNamespace失败()为“mxnet”,细节: 电话: inDL(x,as.logical(local),as.logical(now),...) 错误:无法加载共享对象'C:/Users/Po/Documents/R/win-library/3.4/mxnet/ libs/x64/libmxnet.dll': LoadLibrary失败:找不到指定的模块。

真的被带上了所有'帮助'的话题。这似乎是一个常见问题,但不是广泛适用的解决方案。我已经下载并更新:CUDA,CUDAnn,NVIDIA驱动程序,OpenBLAS,cmake,opencv,MS visual studio,git,mlbench,mingw,MS visual cpp社区....不胜枚举。

一些解决方案认为构建和编译是一种解决方法,但坦白地说,构建和编译远远超出了范围,我不得不下载半打的程序,只留下说明“使用CMake创建Visual Studio解决方案in ./build“。那有什么意思。

我检查了目录,并且确定存在libmxnet.dll。我觉得我失去了一些明显的东西。

回答

1

我会帮你解决这个问题。

I have checked the directory and am sure libmxnet.dll exists. I feel like I am missing something obvious.

如果libmxnet.dll存在,但我们得到的缺失模块错误,这意味着在其libmxnet.dll取决于缺少一个或多个DLL。

您可以从“https://live.sysinternals.com/Procmon.exe”下载Process Monitor并捕获文件系统活动。

的指令

  1. 下载 “https://live.sysinternals.com/Procmon.exe
  2. 开始 “Procmon.exe”
  3. 点击按Ctrl +大号带来过滤UI
  4. 选择 “路径”,“以“,”.dll“结尾,然后”包含“来自 的过滤器”显示符合这些条件的条目“
  5. 点击确定。我们配置了Procmon来监视DLL活动
  6. 现在尝试重现导致缺少模块错误的问题
  7. 从进程监视器中,选择“文件”|“保存选项(或按下Ctrl + S)
  8. 确保“机进程监视器格式(PML)”被选择使用当前的滤波器被选择
    生成PML文件
  9. 确保事件显示。
  10. 邮件的PML文件,我在[email protected]
+0

@ Thomas Fritsch,非常感谢上面格式化我的文章。我很感激。 – Eftiquar

+0

你好,你想共享进程监控日志来进一步分析这个吗?我会很高兴为你分析这个。 – Eftiquar

0

构建和安装MXNet自己,你需要下面的依赖关系。安装所需的依赖项:

  1. 如果[Microsoft Visual Studio 2017(https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel=15)尚未安装,请下载并安装它。您可以下载并安装免费社区版。
  2. 如果尚未安装,请下载并安装CMake GUI version
  3. 下载并安装OpenCV
  4. 解压缩OpenCV软件包。
  5. 将环境变量“OpenCV_DIR”设置为值“OpenCV build directory”。
  6. 如果您没有安装英特尔数学核心函数库(MKL),请下载并安装OpenBlas
  7. 将环境变量“OpenBLAS_HOME”设置为指向包含“include”和“lib”目录的“OpenBLAS”目录。通常,您可以在“C:\ Program files(x86)\ OpenBLAS \”中找到该目录。
  8. 下载并安装CuDNN。要访问下载链接,请注册为NVIDIA社区用户。

你已经安装了所有必需的依赖关系后,建立MXNet源代码:

  1. GitHub下载MXNet源代码。
  2. 打开本机工具命令提示符的Visual Studio 2017年(选择64位或x86要求本地)
  3. 启动CMake的GUI工具之前安装的,从这个命令提示符
  4. 在CMake的工具UI,“浏览源代码”按钮中并导航到下载MXNet源的文件夹。例如 - “/ GitHub上/孵化器 - mxnet”
  5. 下创建“/ GitHub上/孵化器 - mxnet”的文件夹,说releasex64
  6. 单击“浏览构建..”,选择以上
  7. 点击创建的文件夹“配置“按钮,对话框提示出现选择发电机
  8. 选择合适的发电机,例如Visual Studio的2017年Win64中,如果建设64
  9. 保留‘使用默认本地编译器’选项
  10. 单击Finish
  11. 点击”打开项目“打开ge在Visual Studio IDE nerated项目
  12. 选择“ALL_BUILD”,并建立要建立
  13. 在例如上述步骤5中创建的文件夹下libmxnet.dll找到配置“\ GitHub的\孵化器mxnet \ releasex64 \调试\ libmxnet.dll“