在大规模分布式集群上用caffe训练mnist模型

这几天测试了在集群上用caffe的脚本,把自己理解的一些方面写下来。

首先写一个test_caffe.sh脚本,这个脚本是用来传入各种参数的,包括后面调用yarn或者hadoop的各种参数,还有用多少个gpu来训练等等。这里面这个脚本其实跟分布式没太大关系。主要用到了hadoop去从hdfs下载和上传数据。

yarn其实就是mapreduce的v2版本,在hadoop中,采用hdfs(Hadoop Distributed File System)来存储数据,采用mapreduce作为计算引擎/计算平台,而yarn就是mapreduce的升级版本。

在test_caffe.sh脚本中,调用了launcher.py,把参数传入这个py文件,在launcher.py中,把一些相关文件(如依赖包)和脚本打包压缩,并上传到集群中的一个节点。例如,我是用ip地址为13的机器作为客户端的,然后可能上传到16号机子上,在16号机子上把压缩包解压。然后在16号机子上启动docker。docker中已经配置好了caffe的运行环境。

然后调用mnist-model.py,这个脚本首先从hdfs上下载数据集到本地,然后编写solver,写好网络后,开始训练,把训练结model上传到hdfs中。
mnist-inference.py也是类似的,作为模型测试用脚本,首先下载数据,然后送入网络,得出预测结果,再把结果上传到hdfs上面。

这个流程就这样走完了。应注意,caffe的训练其实没有用到spark,都是hadoop。
区别于spark的几个测试脚本,那几个是把训练任务分发到各个worker中,然后训练,再综合起来运算结果,而caffe这个只是把任务相当于分发到一个instance,即16号机子,然后运算,因为13号机只是客户端,上面没有装docker环境

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值