无法在Windows上的R中成功运行mxnet

时间:2017-10-11 00:55:26

标签: r install gpu mxnet

我花了一整天的时间试图弄清楚如何在Windows上的R中使用mxnet GPU。软件包安装正常,但在库(mxnet)上我收到错误:

错误:'mxnet'的包或命名空间加载失败:  .onLoad在loadNamespace()中失败,对于' mxnet',详情:   call: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创建./build."中的Visual Studio解决方案;那有什么意思。

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

2 个答案:

答案 0 :(得分:1)

我会帮你解决这个问题。

  

我检查了目录,确定libmxnet.dll存在。我觉得像   我错过了一些明显的东西。

如果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 + L 带来过滤器用户界面
  4. 选择"路径" ,"结束于"," .dll"然后"包括"过滤 "显示符合这些条件的条目"
  5. 点击确定。我们已将Procmon配置为监控DLL活动
  6. 现在尝试重现导致缺少模块错误的问题
  7. 从Process Monitor中选择File |保存选项(或按Ctrl + S)
  8. 确保"本机进程监视器格式(PML)"被选中
  9. 确保选择使用当前过滤器显示的事件 生成PML文件。
  10. 通过eftiquar@gmail.com
  11. 将PML文件邮寄给我

答案 1 :(得分:1)

要自己构建和安装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构建目录"。
  6. 如果您没有安装英特尔数学核心函数库(MKL),请下载并安装OpenBlas
  7. 设置环境变量" OpenBLAS_HOME"指向" OpenBLAS"包含" include"的目录和" lib"目录。通常,您可以在" C:\ Program files(x86)\ OpenBLAS \"中找到该目录。
  8. 下载并安装CuDNN。要访问下载链接,请注册为NVIDIA社区用户。
  9. 安装完所有必需的依赖项后,构建MXNet源代码:

    1. GitHub下载MXNet源代码。
    2. 打开Visual Studio 2017的本机工具命令提示符(根据需要选择x64或x86本机)
    3. 从此命令提示符
    4. 中启动先前安装的CMake GUI工具
    5. 在CMake工具UI中,"浏览源"按钮并导航到下载MXNet源的文件夹。例如 - " / GitHub / incubator-mxnet"
    6. 在" / GitHub / incubator-mxnet"下创建一个文件夹,比如releasex64
    7. 点击"浏览构建.."并选择上面创建的文件夹
    8. 点击"配置"按钮,出现一个用于选择生成器的对话框提示
    9. 选择合适的生成器,例如Visual Studio 2017 Win64,如果为x64构建
    10. 保留"使用默认的本机编译器"选项
    11. 点击完成
    12. 点击"打开项目"在Visual Studio IDE中打开生成的项目
    13. 选择" ALL_BUILD"并构建您要构建的配置
    14. 在上面步骤5中创建的文件夹下找到libmxnet.dll,例如" \ GitHub \ incubator-mxnet \ releasex64 \ Debug \ libmxnet.dll"