【问题标题】:MXNet R package on an Amazon Linux Deep Learning EC2 instanceAmazon Linux Deep Learning EC2 实例上的 MXNet R 包
【发布时间】:2017-11-14 20:19:55
【问题描述】:

我正在尝试使用 MXNet 和 R(以及可用的 MXNet r 软件包)设置 Amazon Linux EC2 实例。不幸的是,这比我预期的要困难得多。

我尝试在 p2.xlarge (https://mxnet.incubator.apache.org/get_started/install.html) 上使用 Amazon 的深度学习 AMI 和 CUDA 8.0 遵循 MXNet 的说明

但是,当我尝试从这个 SO 帖子编译 mxnet r 包时,我得到了同样的错误:

Issues installing mxnet GPU R package for Amazon deep learning AMI

该帖子中讨论的解决方案在某种程度上超出了我完全测试/调试的能力。即我对 linux 环境变量等修改不是特别熟悉。我还查看了 apache-incubator github 上针对 MXnet 提出的一些问题,这些问题也非常无益。

所以我的问题是,

  1. 是否有人知道任何可用的 AMI 预打包 R 和 MXNet?我看到的似乎只包括python。
  2. 拥有一组工作指令(或脚本)以在 Amazon Linux EC2 实例上运行以安装所需的依赖项(假设我使用至少 CUDA 8.0 附带的某种类型的深度学习 AMI)来安装 MXnet R包?

【问题讨论】:

    标签: r amazon-web-services amazon-ec2 deep-learning mxnet


    【解决方案1】:

    是的,所以我是另一个帖子的人,我最终让它发挥了作用。花了 50 多个小时,我不能 100% 确定问题出在哪里,因为...linux。

    sudo yum install R
    sudo yum install libxml2-devel   
    sudo yum install cairo-devel
    sudo yum install giflib-devel
    sudo yum install libXt-devel
    sudo R
    install.packages("devtools")
    library(devtools)
    install_github("igraph/rigraph")
    install.packages(c(“DiagrammeR”, “roxygen2”, “rgexf”, “influenceR”,  “Cairo”, “imager”))
    cd
    cd /src/mxnet
    cp make/config.mk .
    echo "USE_BLAS=openblas" >>config.mk
    echo "ADD_CFLAGS += -I/usr/include/openblas" >>config.mk
    echo "ADD_LDFLAGS += /usr/local/lib" >>config.mk
    echo "USE_CUDA=1" >>config.mk
    echo "USE_CUDA_PATH=/usr/local/cuda-9.0/lib64" >>config.mk
    echo "USE_CUDNN=1" >>config.mk
    *add another LD flag for /usr/local/lib
    
    cd /etc/ld.so.conf.d/
    sudo nano  cuda.conf
        Insert     /usr/local/cuda-9.0/lib64
    cd
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64/:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
    sudo ldconfig
    
    cd R-package
    Rscript -e "install.packages('devtools', repo = 'https://cran.rstudio.com')"
    Rscript -e "library(devtools); library(methods);options(repos=c(CRAN='https://cran.rstudio.com'));install_deps(dependencies = TRUE)"
    cd ..
    
    sudo make rpkg
    

    那么你必须确保 R/Rstudio 可以真正找到这些库:

    cd /etc/rstudio
    sudo nano rserver.conf
    

    您可以通过将 rsession-ld-library-path 条目添加到服务器配置文件,将元素添加到 R 会话的默认 LD_LIBRARY_PATH(由 R ldpaths 脚本确定)。这对于确保包可以找到未安装在系统标准库路径中的外部库依赖项可能很有用。例如:

    rsession-ld-library-path=/opt/local/lib:/usr/local/cuda/lib64
    

    【讨论】:

    • 感谢您的回复@Garglesoap。作为起点,这是在干净的 linux 安装上还是您正在使用 AMI(假设这是在 AWS 上完成的)?如果是这样,您能告诉我在您开始之前预装了什么吗?
    • 嘿@Garglesoap。我对上面的说明进行了一些修改以使其正常工作。但是,当我运行 sudo make rpkg 命令时,您在上面描述的步骤会导致相同的错误。即code 错误:'mxnet' 的包或命名空间加载失败:'mxnet' 的 loadNamespace() 中的 .onLoad 失败,详细信息:调用:dyn.load(file, DLLpath = DLLpath, ...) 错误:无法加载共享对象'/usr/lib64/R/library/mxnet/libs/libmxnet.so':libmklml_intel.so:无法打开共享对象文件:没有这样的文件或目录
    • 具体来说,我将 cd /src/mxnet 命令更新为 cd src/mxnet,因为我没有 /src 目录。此外,我不确定您所说的“*为 /usr/local/lib 添加另一个 LD 标志”是什么意思,因为您已经将它添加到 config.mk 中,所以我没有做任何额外的事情。此外,当我创建 cuda.conf 时,它只有 /usr/local/cuda-9.0/lib64。最后我不得不使用 sudo Rscript,因为 Rscript 不起作用('lib = "/usr/lib64/R/library"' is not writable error when I dont sudo)
    • 这是在 AWS 深度学习 AMI 上。它预装了 cuda、cudnn、mxnet,但没有预装 R、Rstudio 或 mxnet R 包。
    • 至少你得到了和我一样的错误,我不得不在所有 3 个位置添加 LD 库路径,因为似乎没有一个可以自己工作(config.mk、cuda.conf 和使用导出命令。我认为 *add another LD flag 注释是给我自己的注释。您也可以尝试将库路径添加到您的 make 命令:sudo LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64 make rpkg
    猜你喜欢
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-22
    • 1970-01-01
    • 2011-11-17
    • 2014-11-21
    相关资源
    最近更新 更多