MXNet源码级构建过程
来源:互联网 发布:网络协议服务器 编辑:程序博客网 时间:2024/06/05 17:47
两个步骤:
1、根据MXNet的C++源码文件构建libmxnet共享库
2、安装Python语言依赖包
外加一个测试部分
第一步:
构建环境要求:
C++编译器支持C11标准,系统安装有Git以及GNUMake工具。由于本系统是Ubuntu 14.04LTS,需要的操作如下:
命令:
sudo apt-get update && sudo apt-get install build-essential git
至此,构建环境准备完毕。
安装BLAS库
命令:
sudo apt-get install libatlas-base-dev
键入命令后出现以下错误:
E: Unable to locate package libatlas-bas-dev
原因:为了安装libatlas需要安装以下Python依赖包
python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
键入命令:
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
然而,会在最后两行出现以下提示:
/sbin/ldconfig.real: /usr/lib/nvidia-375/libEGL.so.1 不是符号连接/sbin/ldconfig.real: /usr/lib32/nvidia-375/libEGL.so.1 不是符号连接
原因:系统找的是一个符号连接,而不是一个文件。这应该是个bug….
解决方法:
1.对这两个文件更名;2.重新建立符号连接
下面是具体命令
sudo mv /usr/lib/nvidia-375/libEGL.so.1 /usr/lib/nvidia-375/libEGL.so.1.orgsudo mv /usr/lib32/nvidia-375/libEGL.so.1 /usr/lib32/nvidia-375/libEGL.so.1.orgsudo ln -s /usr/lib/nvidia-375/libEGL.so.375.39 /usr/lib/nvidia-375/libEGL.so.1sudo ln -s /usr/lib32/nvidia-375/libEGL.so.375.39 /usr/lib32/nvidia-375/libEGL.so.1
然后,重新键入
sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose
然后,键入
sudo apt-get install libatlas-base-dev
至此libatlas安装完成
安装OpenCV
sudo apt-get install libopencv-dev
OpenCV安装顺利
构建libmxnet共享库
下载mxnet源文件
git clone --recursive https://github.com/dmlc/mxnet
下载完成,目录切换到mxnet文件夹下
make
至此,libmxnet共享库安装完成
第二步:构建Python依赖包
sudo apt-get install python-dev python-numpy
至此安装完成
第三步,测试
以下是测试部分
在~/mxnet/python/
目录下操作,键入:
python
MXNet提供两种编程接口:imperative n-demensional array interface,symbolic programing interface。
接口1: imperative n-demensional array interface
>>> import mxnet as mx>>> a = mx.nd.ones((2, 3))>>> b = a * 2 + 1>>> b.asnumpy() # print b by converting to a numpy.ndarray objectarray([[ 3., 3., 3.], [ 3., 3., 3.]], dtype=float32)
接口二:symbolic programing interface
>>> a = mx.sym.var('a') # it requires the latest mxnet>>> b = a * 2 + 1 # b is a Symbol object>>> c = b.eval(a=mx.nd.ones((2,3)))>>> c[0].asnumpy() # the list of outputsarray([[ 3., 3., 3.], [ 3., 3., 3.]], dtype=float32)
都能得到预期结果,至此,MXNet依赖库测试完毕,MXNet依赖库安装成功。
0 0
- MXNet源码级构建过程
- MXNet的源码编译过程总结
- Gephi 源码构建过程
- GraphX源码解析(Graph构建过程)
- mybatis项目构建过程附源码下载
- AKKA-源码-dispatcher的构建过程
- MXNet的数据预处理:mxnet.image.CreateAugmenter源码详解
- mxnet
- MXNet
- MXNet
- MXNet
- window 7 平台上 MXNET 源码编译
- saiku2.6 构建过程(基于github源码)(20160907修改)
- Android源码解析之(一)-->Android项目构建过程
- android源码解析之(一)-->android项目构建过程
- Spark源码解读之RDD构建和转换过程
- Android源码基础解析之Android项目构建过程
- saiku-3.14构建过程(根据源码略微修改)20170805
- mysql datetime 类型字段相减
- java 包名、类名命名规则
- CodeForces 635 A.Orchestra(水~)
- docker machine & compose for centos
- Mysql出现 Cannot add foreign key constraint 错误
- MXNet源码级构建过程
- poll-IO多路复用
- 微信浏览器返回无法解决
- 如何制作带三角尖头的div
- linux下安装maven
- ubuntu 本地挂载远程服务器
- 全局Context
- Java 小工具类
- Unity&网络:修改Unity High Level API源码并覆盖原生dll