Caffe2 Distributed Training分布式训练
Caffe2 最重要的一个特点是,便于分布式训练,无须重构设计即可快速实现网络的伸缩.
进一步学习Caffe2分布式训练的例子,可参考SynchronousSGD, 该材料阐述了Caffe2的data_parallel_model设计规则.
- Gloo - 用于多机训练的通信库
- NCLL - NVIDIA推出的多GPU通信的NCCL库
- Redis - 为了对分布式训练的节点进行有效管理, Caffe2采用NFS在节点间分享数据,或者采用Redis服务器来处理节点间的通信
Caffe2 提供的一个分布式训练实例resnet50_trainer中,可以在单个GPU上运行 resnet50_trainer脚本. 其中,训练数据需要先加载到 lmdb database, 或者LevelDB.
实例
安装成功Caffe2后,分布式训练至少有一个GPU,多个GPU更适合体现其分布式特点.
首先,训练数据库转换成lmdb database, 或LevelDB格式;
usage: resnet50_trainer.py [-h] --train_data</