MXNet多机分布式配置

mxnet多机分布式配置

将一台机器上的mxnet拷到另外两台机器上

scp -r /home/hzz/mxnet [email protected]:/home/hzz/mxnet

如果已经在自己的环境安装好mxnet或者不想新建一个Python环境,可以忽略下面这几步。

建立新的Python环境

对每台机器,用anacodna的conda建立新的Python环境,在这个环境安装mxnet,

conda create -n mxnet-1.1-modify python=2.7

激活这个环境

source activate mxnet-1.1-modify

如果要解除这个环境,只需

source deactivate

之后查看当前的Python是不是在新的环境下

which python

安装mxnet,搭建分布式

进入mxnet/python,安装mxnet

python setup.py install

设置hosts为三台机器的ip,这里命名为Host,如

9.91.21.46
9.91.21.37
9.91.21.34

在每台机器运行自己的local分布式程序, launch文件在 mxnet/tools/

python launch.py -n 1 --launcher local `which python` /home/hzz/tcd-workspace/imagenet_gai.py --data_url /data/ --train_file ILSVRC2012_img_train.rec --batch_size 256 --num_classes 1000 --val_file ILSVRC2012_img_val.rec --num_layers=50 --network=resnet

每台都成功后,再用分布式

python launch.py -n 3 -H /home/hzz/tcd-workspace/Host --launcher ssh `which python` /home/hzz/tcd-workspace/imagenet_gai.py --data_url /data/ --train_file ILSVRC2012_img_train.rec --batch_size 256 --num_classes 1000 --val_file ILSVRC2012_img_val.rec --num_layers=50 --network=resnet

踩坑

  • 在conda create创建环境时,报错post-link,更新conda为最新版即可

    conda upgrade conda
    
  • 从一台机器拷贝数据到其他机器上,报权限问题,目标机器拷贝的文件夹也需要权限

    sudo chmod 777 /data
    
  • OSError: libmxnet.so: cannot open shared object file: No such file or direct
    把.so文件放到LD_LIBRARY_PATH环境下,如:

    vi ~/.bashrc
    
    export CUDA_HOME=/usr/local/cuda
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CUDA_HOME:$CUDA_HOME/lib64

最后

    source ~/.bashrc

你可能感兴趣的:(python,MXNet,机器学习,深度学习,MXNet,深度学习,分布式)