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

时间:2017-11-14 20:19:56

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

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

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

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

Issues installing mxnet GPU R package for Amazon deep learning AMI

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

所以我的问题是,

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

1 个答案:

答案 0 :(得分: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
相关问题