MXNet分布式环境搭建之一MXNet编译

MXNet编译

根据官方文档(https://github.com/Samonsix/DistributedTraining_inMXNet/blob/master/Distributed Training in MXNet.md )描述:Note that we need to compile MXNet with the build flag USE_DIST_KVSTORE=1 to use distributed training.
可知,需要手动编译MXNet才可以使用分布式训练,因此本篇主要内容为MXNet的编译。

环境介绍

测试时环境

cat /proc/version
# Linux version 4.15.0-50-generic (buildd@lgw01-amd64-029) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)) #54~16.04.1-Ubuntu SMP Wed May 8 15:55:19 UTC 2019

python3 -V
# Python 3.5.2

# 本文测试拉取的是2019.5.20 master分支的最新代码

准备环境和拉取代码

如果是使用GPU,需要先准备好nvidia驱动,cuda和cudnn,没有安装的话,请参考其他博主的文章将GPU相关环境准备好,本文默认已经安装好这些环境。

  1. 安装依赖包
# 安装必备工具包
sudo apt-get update
sudo apt-get install -y build-essential git ninja-build ccache

# 安装数学库
sudo apt-get install -y libopenblas-dev

# 安装opencv,mxnet使用opencv加载图片和对图片进行增强
sudo apt-get install -y libopencv-dev

  1. 拉取代码
# recursive表示递归拉取所有子模块
git clone --recursive https://github.com/apache/incubator-mxnet.git
  1. 修改编译配置和开始编译
# 进入刚刚拉取的目录
cd incubator-mxnet

# 拷贝mk文件,然后编辑
cp make/config.mk ./
vim config.mk
# 修改 USE_CUDA = 0   --->    USE_CUDA = 1
# 取消注释 USE_CUDA_PATH = /usr/local/cuda,(并注释之前的配置USE_CUDA_PATH = NONE)
# 修改 USE_CUDNN = 0  --->    USE_CUDNN = 1
# 修改 USE_DIST_KVSTORE = 0  --->   USE_DIST_KVSTORE = 1

开始编译和安装

# 开始编译,j8表示开8个进程同时编译,CPU核心少的话可以改为j4或者j2
make -j8

注意前面的环境一定要准备好,缺一不可。编译完成后,会在lib目录下生成几个动态库和静态库文件,下面就可以开始绑定到python中

# 进入python目录
cd python
python setup.py install
# 若想安装到python3,则执行python3 setup.py install
# conda中的某个环境中,则先激活该环境,然后执行python setup.py install

# 拷贝lib库到包目录中,注意包的目录为你实际python的包路径,以下只是本机的路径
cp lib/* /usr/local/lib/python3.5/dist-packages/mxnet-1.5.0-py3.5.egg/mxnet/

# 进入python,然后import mxnet,若不报错,则表示成功编译并安装到了python中

以上步骤完成mxnet 编译,下一篇将介绍分布式环境的搭建和测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值