代码之家  ›  专栏  ›  技术社区  ›  Garglesoap

为亚马逊深度学习AMI安装mxnet GPU R包的问题

  •  1
  • Garglesoap  · 技术社区  · 7 年前

    步骤1:安装大量丢失/损坏的程序和R包

    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(‘DiagrammeR’) 
    install.packages(‘roxygen2’)
    install.packages(‘rgexf’)
    install.packages(‘influenceR’)
    install.packages(‘Cairo’)
    install.packages(“imager”)
    

    第2步:编辑配置。mk文件

    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 += -lopencv_core -lopencv_imgproc -lopencv_imgcodecs" >>config.mk
    echo "USE_CUDA=1" >>config.mk
    echo "USE_CUDA_PATH=/usr/local/cuda" >>config.mk
    echo "USE_CUDNN=1" >>config.mk
    

    *注意:即使设置了USE\u CUDA\u路径,它仍然无法找到libcudart。因此,需要在make命令中链接和(稍后显示)

    /etc/ld.so.conf.d/cuda.conf
    

    添加/usr/local/cuda-8.0/lib64

    sudo ldconfig
    
    • 注意,这是由nvidia发布的,但绝对没有帮助制作rpkg

    第4步:设置R目录

    Rscript -e "install.packages('devtools', repo = 'https://cran.rstudio.com')"
    cd R-package
    Rscript -e "library(devtools); library(methods); options(repos=c(CRAN='https://cran.rstudio.com'));
    

    install\u deps(dependencies=TRUE)” cd。。

    第5步:制作

    cd /src/mxnet
    sudo make -j8
    

    结果:

    使CXX=g++DEPS\u路径=/home/ec2 user/src/mxnet/DEPS-C/home/ec2 user/src/mxnet/ps-lite-ps cd/home/ec2用户/src/mxnet/dmlc核心;制作libdmlc。a USE\u SSE=1 config=/home/ec2 user/src/mxnet/config。mk;cd/home/ec2用户/src/mxnet make[1]:输入目录 /home/ec2-user/src/mxnet/dmlc-core' make[1]: libdmlc。a’是最新的。 make[1]:离开目录 /home/ec2-user/src/mxnet/dmlc-core' make[1]: Entering directory /主页/ec2用户/src/mxnet/ps lite' make[1]: ps'. make[1]: Leaving directory ar crv lib/libmxnet。一

    *注意,即使在更改配置时。mk文件中,make命令始终不返回任何要更新的内容

    步骤6:尝试制作rpkg

    Cd /src/mxnet
    Sudo make rpkg
    

    错误: 错误:mxnet的包或命名空间加载失败: .“mxnet”的loadNamespace()中的onLoad失败,详细信息: 电话:dyn。加载(文件,DLLpath=DLLpath,…) 错误:无法加载共享对象“/usr/lib64/R/library/mxnet/libs/libmxnet。所以': libcudart。所以8.0:无法打开共享对象文件:没有此类文件或目录 错误:加载失败 执行已暂停 错误:加载失败

    当文件实际存在时: /home/ec2 user/src/mxnet/R-package/inst/libs/libmxnet。所以 /home/ec2 user/src/mxnet/lib/libmxnet。所以

    到目前为止,我尝试了什么:

    sudo LD_LIBRARY_PATH=/usr/local/cuda/lib64 make rpkg
    

    libmklml_英特尔。所以:无法打开共享对象文件:没有这样的文件或目录以及原始无法找到libmxnet。所以

    还尝试了: 1.实际创建目录(/usr/lib64/R/library/mxnet/libs/),然后复制libmxnet。就这样

    1. 将/home/ec2 user/src/mxnet/R-package/inst/libs/添加到make命令 sudo LD\u LIBRARY\u PATH=/home/ec2 user/src/mxnet/R-package/inst/libs make rpkg 结果:相同错误

    2. 大量的环境标签都失败了:

      导出MXNET_HOME=/usr/lib64/R/library/MXNET/libs/ 导出MXNET_HOME=/usr/lib64/R/library/MXNET/libs/libmxnet。所以
      sudo ldconfig/usr/local/cuda/lib64 sudo-ln-s/usr/lib64/R/library/mxnet/libs/usr/lib sudo-ln-s/usr/lib64/R/library/mxnet/libs/libmxnet。so/usr/lib sudo ln-s/usr/local/lib/libmklml\u英特尔。so/usr/lib sudo ln-s/usr/local/lib/LIBIOP5。so/usr/lib sudo ln-s/usr/local/usr/lib 导出LD\u LIBRARY\u路径=/usr/local/cuda-8.0/lib64/libcudart。所以8 导出LD\u LIBRARY\u PATH=/usr/local/cuda-8.0/targets/x86\u 64-linux/lib/:$LD\u LIBRARY\u PATH 导出LD\u LIBRARY\u路径=/usr/local/cuda-8.0/lib64/libcudart。所以8

    在所有这些中,有一个是有效的,因为在mxnet R包再次崩溃之前,我短暂地让它工作了。我花了50多个小时在这个装置上,坦率地说,这太荒谬了。安装软件比编程实际网络更难。。。。

    最重要的是,即使成功安装了R包,在将Rstudio servers配置文件设置为:rsession ld library path=/opt/local/lib:/usr/local/cuda/lib64之前,它仍然无法工作

    1 回复  |  直到 7 年前
        1
  •  1
  •   hungrypanda    7 年前

    运行sudo命令时是否尝试了以下操作。

    sudo -E make -j8
    

    这意味着当作为超级用户运行时,它将保留env变量。您不必为make添加新的配置文件来查找库。仅使用上述命令保留env变量就足够了。