mxnet

转载 2016年06月02日 11:10:41

STEP 1

http://m.blog.csdn.net/article/details?id=50260419  #MXnet实战深度学习1--MXnet的安装与第一个例子
[Make sure  all the rely-on lib have been installed. otherwise

sudo apt-get install libatlas-base-dev

]

STEP 2

   安装 cblas [ lapack, lapacke ]

   BLAS(Basic Linear Algebra Subprograms)库,是用Fortran语言实现的向量和矩阵运算库,是许多数值计算软件库的核心, 但也有一些其它的包装, 如cblas是C语言, 也有C++的包装, boost/ublas 是C++ template class的实现; 另外还有一些特别的实现, 如intel MKL, AMD core math library blas就是做向量、矩阵的基本运算,如加、减、乘等操作。CBLAS是BLAS的C语言接口。 LAPACK(Linear Algebra PACKage)库,是用Fortran语言编写的线性代数计算库,包含线性方程组求解(AX=b)、矩阵分解、矩阵求逆、求矩阵特征值、奇异值等。该库用BLAS库做底层运算,许多高层的数学库都用BLAS和LAPACK做底层。CBLAS只是BLAS的C语言版本,所以CBLAS安装需要先装BLAS

1.确保机器上安装了gfortran编译器,如果没有安装的话,可以使用sudo apt-get install gfortran
2.下载blas, cblas, lapack 源代码, 这些源码都可以在 http://www.netlib.org 上找到,下载并解压。这里提供我安装时的下载链接 http://www.netlib.org/blas/blas.tgz http://www.netlib.org/blas/blast-forum/cblas.tgz http://www.netlib.org/lapack/lapack-3.4.2.tgz,解压之后会有三个文件夹,BLAS, CBLAS, lapack-3.4.2
3.这里就是具体的编译步骤
1)编译blas, 进入BLAS文件夹,执行以下几条命令


    gfortran -c  -O3 *.f  # 编译所有的 .f 文件,生成 .o文件  

    ar rv libblas.a *.o  # 链接所有的 .o文件,生成 .a 文件  
    su cp libblas.a /usr/local/lib  # 将库文件复制到系统库目录  


2)编译cblas, 进入CBLAS文件夹,首先根据你自己的计算机平台,将目录下某个 Makefile.XXX 复制为 Makefile.in , XXX表示计算机的平台,如果是Linux,那么就将Makefile.LINUX 复制为 Makefile.in,然后执行以下命令


    cp ../BLAS/libblas.a  testing  # 将上一步编译成功的 libblas.a 复制到 CBLAS目录下的testing子目录  

    make # 编译所有的目录  
    sudo cp lib/cblas_LINUX.a /usr/local/lib/libcblas.a # 将库文件复制到系统库目录下  


3)编译 lapack以及lapacke,这一步比较麻烦,首先当然是进入lapack-3.4.2文件夹,然后根据平台的特点,将INSTALL目录下对应的make.inc.XXX 复制一份到 lapack-3.4.2目录下,并命名为make.inc, 这里我复制的是 INSTALL/make.inc.gfortran,因为我这里用的是gfortran编译器。修改lapack-3.4.2/Makefile, 因为lapack以来于blas库,所以需要做如下修改


    #lib: lapacklib tmglib
    lib: blaslib variants lapacklig tmglib
    make # 编译所有的lapack文件  
    cd lapacke # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件  
    make # 编译lapacke  
    cp include/*.h /usr/local/include #将lapacke的头文件复制到系统头文件目录  
    cd .. #返回到 lapack-3.4.2 目录  
    cp *.a /usr/local/lib # 将生成的所有库文件复制到系统库目录  

这里的头文件包括: lapacke.h, lapacke_config.h, lapacke_mangling.h, lapacke_mangling_with_flags.h lapacke_utils.h
生成的库文件包括:liblapack.a, liblapacke.a, librefblas.a, libtmglib.a

至此cblas和lapack就成功安装到你的电脑上了。

测试.可以到 LAPACKE 找测试代码,这里是lapacke的官方文档,比如以下代码:

    #include <stdio.h>  
    #include <lapacke.h> 
    int main (int argc, const char * argv[])  
    {  
       double a[5*3] = {1,2,3,4,5,1,3,5,2,4,1,4,2,5,3};  
       double b[5*2] = {-10,12,14,16,18,-3,14,12,16,16};  
       lapack_int info,m,n,lda,ldb,nrhs;  
       int i,j; 
       m = 5;  
       n = 3;  
       nrhs = 2;  
       lda = 5;  
       ldb = 5;
       info = LAPACKE_dgels(LAPACK_COL_MAJOR,'N',m,n,nrhs,a,lda,b,ldb);  
       for(i=0;i<n;i++)  
       {  
          for(j=0;j<nrhs;j++)  
          {  
             printf("%lf ",b[i+ldb*j]);  
          }  
          printf("\n");  
       }  
       return(info);  
    } 

将上诉代码保存为test.c,编译时,别忘了使用gfortran,此外,还需要连接用到的库,编译上面的代码,应使用如下命令:

    gfortran test.c -llapacke -llapack -lrefblas 

如果能正常编译,即表示安装成功。如果要了解这段代码的具体含义,可以到 LAPACKE  查看.


[STEP 3]

While using Spyder or other Ipython-based IDE , you perhaps find that the system $PATH cannot act as well as in the raw python envirement ,such as cuda\bin or other config path could not take effect, so you cannot run theano or mxnet using GPU  mode. The simplest solution (maybe not safety) is to modify file "profile" which is located in '/etc/' folder.

$cd /

$chmod 777 etc      

$cd etc

$chmod 777 profile 

$gedit profile

#add the same ~/.bashrc config context

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

$source profile

[You may need root privilege when some ops above]

RESTART your computer. [Perhaps essential]


GOOD LUCK!



mxnet在linux上的安装

mx在linux(包括ubuntu和centos系统上的安装)
  • zhangweijiqn
  • zhangweijiqn
  • 2016年11月17日 14:51
  • 6448

Anaconda+Mxnet 安装及配置

因以后的工作需求,最近准备上手python下进行简单的深度学习。 以前从没接触过python语言,貌似在机器学习届很火,好吧,原谅我是文盲。。 废话不多说,先整理下我的安装和配置过程。。 Anac...
  • u013002364
  • u013002364
  • 2016年08月16日 10:32
  • 3819

mxnet

# install relyon_lib sudo apt-get install libatlas-base-dev http://m.blog.csdn.net/article/details?...
  • u011037837
  • u011037837
  • 2016年06月02日 11:10
  • 622

mxnet 中 cannot find -lcblas问题

1.确保机器上安装了gfortran编译器,如果没有安装的话,可以使用sudo apt-get install gfortran 2.下载blas, cblas, lapack 源代码, 这些源码都...
  • Allyli0022
  • Allyli0022
  • 2017年02月08日 15:35
  • 1172

MXNet官方文档教程(1):扬帆起航(Get Started)

最近准备学习MXNet,发现官方文档的中文支持还不完整,便打算一边学习一边将文档翻译过来,以方便日后复习和之后的学习者。本文是官方文档的第一步“Get Started”,原文档链接:MXNet:Get...
  • Catalyst_ZX
  • Catalyst_ZX
  • 2016年11月17日 18:40
  • 10757

MXNet 分布式架构——parameter server详解

@Libra_Leo_ 【MXNet 分布式架构——parameter server详解】@李沐M 和 @陈天奇怪 等大神开源的MXNet 最近火的一塌糊涂。而 MXNet 最吸引我的特性是它支持分...
  • zc02051126
  • zc02051126
  • 2016年02月06日 10:47
  • 3203

MxNet系列——how_to——multi_devices

在多个CPU/GPUs上以数据并行方式运行MXNetMXNet 支持在多个CPUs和GPUs上进行训练。其中,这些CPUs和GPUs可能位于不同的物理机上。 数据并行 vs 模型并行MXNet模式使用...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月08日 15:40
  • 2479

MXNet学习6——Linear Regression

概要前面的文章介绍了MXNet的基础知识,类似于语法知识,这一节介绍MXNet使用机器学习的一个基本模型–线性回归。线性回归内部的具体实现不会涉及,我们是在上层使用,而MXNet这类的深度学习框架意义...
  • dn_mug
  • dn_mug
  • 2017年03月14日 20:53
  • 717

Windows10下安装GPU版本的MXNet

Windows10下安装GPU版本的MXNetMXNet官网:http://mxnet.dmlc.ml/ 官网安装教程:http://mxnet.io/get_started/setup.html...
  • u010414386
  • u010414386
  • 2016年11月23日 13:39
  • 2591

MxNet系列——how_to——new_op

如何创建新的操作符(网络层)本节内容描述了创建新的MXNet操作符(或网络)的过程。我们已经尽了最大努力为最常用的案例提供高性能操作符。然而,如果你需要自定义一个网络层,比如新的损失函数,有两个选择:...
  • xuezhisdc
  • xuezhisdc
  • 2017年02月08日 15:38
  • 1331
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mxnet
举报原因:
原因补充:

(最多只允许输入30个字)