MXNet 分布式环境部署

MXNet 分布式环境部署

1. MxNet 分布式介绍

先忽略吧, 回头在填上去

2. 分布式部署方法

假设有两台主机ip地址分别是xxx.xxx.xxx.114xxx.xxx.xxx.111
这两台主机的环境如下

ubuntu Server 16.04SLT
python3.6| anaconda3
opencv3
cuda8
cudnn7

2.2 Step1. 搭建MxNet环境

根据文献[^Installing MXNet]以源代码的方式安装MxNet; 注意每台机器生配置的环境需要保持一致;
需要分别在114 和111主机上搭建MxNet环境
MxNet的安装方法有很多,免密码登录只是其中的一种方式. 建议使用源代码的方式去安装, 因为后面需要使用MxMet的源代码里面的文件.

#进入anaconda虚拟环境
source activate base # root 

# 下载MxNet1.2.1 源代码
wget https://github.com/apache/incubator-mxnet/releases/download/1.2.1/apache-mxnet-src-1.2.1-incubating.tar.gz 

# 解压源代码到目录 ~/source/下面
tar -zvxf apache-mxnet-src-1.2.1-incubating.tar.gz -d ~/source/
# 进入source目录,并编译
cd ~/source/apache-mxnet-src-1.2.1-incubating
# 编译参数解析
# USE_OPENCV=1 代表使用opencv
# USE_CUDA_PATH=/usr/local/cuda 是指定使用的cuda路径
#USE_CUDNN=1是使用cudann
make -j $(nproc) USE_OPENCV=1 USE_BLAS=openblas USE_CUDA=1 USE_CUDA_PATH=/usr/local/cuda USE_CUDNN=1

# 进入源文件的python目录, 编译python接口的MxNet
cd ~/source/apache-mxnet-src-1.2.1-incubating
python setup.py install

等待安装好以后,进如python终端,测试是否可以识别mxnet即可:

import mxnet
print(mxnet.__version__) # 应该可以输出版本 1.2.1

好, 到此为止,MxNet安装完毕;

2.1 Step2. 设置SSH免密码登录

在网上找到一片很靠谱的博客,参考这篇文章即可,不再赘述.
ubuntu开启SSH服务远程登录

2.3 Step3. 搭建分布式的环境

解析:
两台主机免密码互联是分布式之间数据传递的前提,再搭建分布式之前,一定要确保第2步没有问题;
mxNet的分布式运行比较简单,在tools文件夹中的launcher.py是管理分布式下运行的文件的,直接在哪运行该文件的时候添加相应的参数即可;
在安装好MxNet和设置好ssh免密码登录以后就可以使用了, 基本上不需要添加任何设置.
为了说明运行参数,同时为了测试分布式环境,我们将在分布式下运行apache-mxnet-src-1.2.1-incubating/examples/image-classification/train_mnist.py

进入源代码的目录下的tools文件夹, 找到launcher.py文件

cd ~/source/apache-mxnet-src-1.2.1-incubating/tools 

在此处建立文件名host文件, 并在该文件中输入两台主机的ip地址;

xxx.xx.xxx.111
aaa.aa.aaa.114

ps: 这个名字host可以随意的起的,是为了在运行lanucher的时候让服务器知道在哪里进行分布式运行

运行launch.py

MxNet官方文档中有详细介绍MxNet分布式的使用方式,可以查看官方文档的详细内容[^distributed_training]

python launch.py -n 2 -H host --launcher ssh `which python` ../example/image-classification/train_mnist.py
# --n 是代表要启动几台host
# -H 是要指定host的ip地址

如果不出任何错误,且train_mnist.py运行成功表明环境搭建成功了.

参考文献

[^Installing MXNet]: Installing MXNet
[^distributed_training]: distributed_training

原文地址:https://www.cnblogs.com/greentomlee/p/9611064.html

时间: 2024-08-29 18:13:52

MXNet 分布式环境部署的相关文章

ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1分布式环境部署

博文作者:迦壹 博客地址:http://idoall.org/home.php?mod=space&uid=1&do=blog&id=542 转载声明:可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明,谢谢合作! --------------------------------------- 目录: 一.hadoop2.2.0.zookeeper3.4.5.hbase0.96.2.hive0.13.1都是什么? 二.这些软件在哪里下载? 三.如何安装 1.安装JD

ZooKeeper 分布式环境部署

ZooKeeper 安装部署 ZooKeeper 安装部署分为三种模式,请各位同学根据自己的实际情况选择不同的模式,下面我们分别介绍这三种模式. 单节点模式 1.首先到官方网站下载ZooKeeper安装包. 这里我们选择zookeeper-3.4.6版本. 2.对zookeeper-3.4.6安装包解压. 3.在ZooKeeper安装目录的conf目录下,创建一个配置文件zoo.cfg. 在zoo.cfg文件中,添加如下配置信息. 4.启动/关闭ZooKeeper Server,具体操作命令如下

Flume环境部署和配置详解及案例大全

flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(比如文本.HDFS.Hbase等)的能力 . 一.什么是Flume? flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用.Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera.但随着 FLume 功能的扩展,F

J2EE分布式框架之开发环境部署(下)

本篇继续为大家讲解J2EE分布式框架的开发环境部署: Eclipse中配置maven安装目录和Setting文件加载的本地库目录 11.导入Maven项目 File>Import>Existing Maven Projects>下一步 选择你本地的maven项目(请选中jeesz-project根目录),点击确定 加载出来所有项目后,点击finish完成 提醒:这个导入的过程要一段时间,因为我本地连接网络,所以会从远程中央库下载项目所需要的所有的jar包,请大家耐心等候. 如果你使用了本

JEESZ分布式框架之开发环境部署(下)

本篇继续为大家讲解J2EE分布式框架的开发环境部署: 10.  Eclipse中配置maven安装目录和Setting文件加载的本地库目录 11.导入Maven项目 File>Import>Existing Maven Projects>下一步 选择你本地的maven项目(请选中jeesz-project根目录),点击确定 加载出来所有项目后,点击finish完成 提醒:这个导入的过程要一段时间,因为我本地连接网络,所以会从远程中央库下载项目所需要的所有的jar包,请大家耐心等候. 如果

【转】Hadoop HDFS分布式环境搭建

原文地址  http://blog.sina.com.cn/s/blog_7060fb5a0101cson.html Hadoop HDFS分布式环境搭建 最近选择给大家介绍Hadoop HDFS系统,因此研究了一下如何在Linux 下配置一个HDFS Clust.小记一下,以备将来进一步研究和记忆. HDFS简介 全称 Hadoop Distributed File System, Hadoop分布式文件系统. 根据Google的GFS论文,由Doug Cutting使用JAVA开发的开源项目

分布式环境下的数据一致性问题的方案讨论

由于互联网目前越来越强调分布式架构,如果是交易类系统,面临的将会是分布式事务上的挑战.当然目前有很多开源的分布式事务产品,例如java JTA,但是这种解决方案的成本是非常高的,而且实现起来非常复杂,效率也比较低下.对于极端的情况:例如发布,故障的时候都是没有办法保证强一致性的. 首先,在目前的互联网应用中,我们通过一个比较常见的例子,让大家更深入的了解一下分布式系统设计中关于数据一致性的问题.拿我们经常使用的功能来考虑吧,最近网购比较热门,就以京东为例的,我们来看看京东的一个简单的购物流程 用

ubuntu + hadoop2.5.2分布式环境配置

ubuntu + hadoop2.5.2分布式环境配置 我之前有详细写过hadoop-0.20.203.0rc1版本的环境搭建 hadoop学习笔记——环境搭建 http://www.cnblogs.com/huligong1234/p/3533382.html 本篇部分细节就不多说. 一.基础环境准备系统:(VirtualBox) ubuntu-12.04.2-desktop-i386.isohadoop版本:hadoop-2.5.2jdk版本:jdk-6u26-linux-i586.bin

Hadoop学习笔记(3)——分布式环境搭建

Hadoop学习笔记(3) ——分布式环境搭建 前面,我们已经在单机上把Hadoop运行起来了,但我们知道Hadoop支持分布式的,而它的优点就是在分布上突出的,所以我们得搭个环境模拟一下. 在这里,我们采用这样的策略来模拟环境,我们使用3台ubuntu机器,1台为作主机(master),另外2台作为从机(slaver).同时,这台主机,我们就用第一章中搭建好的环境来. 我们采用与第一章中相似的步骤来操作: 运行环境搭建 在前面,我们知道,运行hadoop是在linux上运行的.所以我们单机就在