首页 文章

Amazon Linux深度学习EC2实例上的MXNet R包

提问于
浏览
1

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

我在p2.xlarge(https://mxnet.incubator.apache.org/get_started/install.html)上用CUDA 8.0深度学习AMI

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

Issues installing mxnet GPU R package for Amazon deep learning AMI

该帖中讨论的解决方案有点超出了我完全测试/调试的能力 . 即我不是特别熟悉linux环境变量等等进行修改 . 我还回顾了针对MXnet的apache-incubator github上提出的一些问题,这些问题也非常无益 .

所以我的问题是,

  • 是否有人知道任何可用的预装了R和MXNet的AMI?我看到的似乎只包括python .

  • 在Amazon Linux EC2实例上运行一组工作指令(或脚本)来安装所需的依赖项(假设我使用某种类型的深度学习AMI,至少有CUDA 8.0)来安装MXnet R软件包?

1 回答

  • 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
    

相关问题