美文网首页
Centos环境下,Mxnet安装教程

Centos环境下,Mxnet安装教程

作者: QIAN丶AN | 来源:发表于2016-09-05 17:15 被阅读0次

    简记我在centos上安装mxnet的心路历程~ ~

    步骤一:首先乖乖的按照官方文档的安装教程

    git clone --recursive https://github.com/dmlc/mxnetcdmxnet;

    make -j16

    进行安装。结果出现error...(系统自带的g++版本为4.4.7,而mxnet要求>=4.8),进而我就鬼迷心窍的去下载安装了最新版本的g++6.0。

    步骤二:更新g++版本,最好更新4.8或着4.9两个版本,因为cuda-7.5编译要求g++版本要<=4.9,(哎,这就是在玩数学不等式呐。。)

    升级g++的教程如下:

    1、下载g++4.8.5的源码安装包 wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz,

    2、下载依赖包(gcc自带下载脚本)

    ./contrib/download_prerequisites

    3、直接编译会出现error

    所以可以提前执行unset LIBRARY_PATH该命令(也是可以在编译报错之后再执行。。)

    4、编译安装

    mkdir gcc-build-4.8.5

    cd gcc-build-4.8.5

    ../configure --prefix=/usr

    make && make install

    5、通过gcc --version 、g++ --version查看版本号

    降级gcc教程如下:

    sudo yum remove--skip-broken gcc

    sudo yum install--skip-broken gcc

    yum install gcc-c++

    yum-yinstallglibc-devel.i686 glibc-devel

    步骤三:自定义安装

    将make文件夹下面的config.mk文件copy到mxnet根目录下面,然后再config.mk文件中自定义修改。如:

    #---------------------

    # choice of compiler

    #--------------------

    export CC = gcc

    export CXX = g++

    export NVCC = nvcc

    # whether compile with debug

    DEBUG = 0

    # the additional link flags you want to add

    ADD_LDFLAGS = -L/usr/lib64/atlas

    # the additional compile flags you want to add

    #ADD_CFLAGS =

    #---------------------------------------------

    # matrix computation libraries for CPU/GPU

    #---------------------------------------------

    # whether use CUDA during compile

    USE_CUDA = 1

    # add the path to CUDA library to link and compile flag

    # if you have already add them to environment variable, leave it as NONE

    USE_CUDA_PATH = /usr/local/cuda-7.5

    #USE_CUDA_PATH = NONE

    # whether use CuDNN R3 library

    USE_CUDNN = 1

    # whether use cuda runtime compiling for writing kernels in native language (i.e. Python)

    USE_NVRTC = 0

    # whether use opencv during compilation

    # you can disable it, however, you will not able to use

    # imbin iterator

    USE_OPENCV = 1

    # use openmp for parallelization

    USE_OPENMP = 1

    # choose the version of blas you want to use

    # can be: mkl, blas, atlas, openblas

    # in default use atlas for linux while apple for osx

    UNAME_S := $(shell uname -s)

    ifeq ($(UNAME_S), Darwin)

    USE_BLAS = apple

    else

    USE_BLAS = atlas

    endif

    # add path to intel library, you may need it for MKL, if you did not add the path

    # to environment variable

    USE_INTEL_PATH = NONE

    # If use MKL, choose static link automatically to allow python wrapper

    ifeq ($(USE_BLAS), mkl)

    USE_STATIC_MKL = 1

    else

    USE_STATIC_MKL = NONE

    endif

    #----------------------------

    # distributed computing

    #----------------------------

    # whether or not to enable multi-machine supporting

    USE_DIST_KVSTORE = 0

    # whether or not allow to read and write HDFS directly. If yes, then hadoop is

    # required

    USE_HDFS = 0

    # path to libjvm.so. required if USE_HDFS=1

    LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server

    # whether or not allow to read and write AWS S3 directly. If yes, then

    # libcurl4-openssl-dev is required, it can be installed on Ubuntu by

    # sudo apt-get install -y libcurl4-openssl-dev

    USE_S3 = 0

    修改好config.mk文件后,就可以运行make -j8进行编译了。

    步骤四:安装python包

    cd /mxnet/python

    执行 python setup.py

    到此就大功告成啦!

    Tips:直接手动从github上下载的文件要使用git submodule init和git submodule update更新子模块。

    相关文章

      网友评论

          本文标题:Centos环境下,Mxnet安装教程

          本文链接:https://www.haomeiwen.com/subject/idirettx.html