1.caffe和caffe2的区别
官方说明:
Caffe2 improves Caffe 1.0 in a series of directions:
first-class support for large-scale distributed training
mobile deployment
new hardware support (in addition to CPU and CUDA)
flexibility for future directions such as quantized computation
stress tested by the vast scale of Facebook applications
(1)增加了大规模分布式训练和手机端部署的支持。
Caffe2长于移动和大规模部署。虽然Caffe2新增了支持多GPU的功能,这让新框架与Torch具有了相同的GPU支持能力,Caffe2支持一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。
PyTorch适合进行研究、实验和尝试不同的神经网络;而Caffe2更偏向于工业应用,而且重点关注在移动端上的表现。
caffe2使用数据并行
底层依赖
Gloo - 用于多机训练的通信库
NCLL - NVIDIA推出的多GPU通信的NCCL库
Redis - 为了对分布式训练的节点进行有效管理, Caffe2采用NFS在节点间分享数据,或者采用Redis服务器来处理节点间的通信
官方说明:
Caffe2 improves Caffe 1.0 in a series of directions:
first-class support for large-scale distributed training
mobile deployment
new hardware support (in addition to CPU and CUDA)
flexibility for future directions such as quantized computation
stress tested by the vast scale of Facebook applications
(1)增加了大规模分布式训练和手机端部署的支持。
(2)语法结构上,使用python时更接近TensorFlow,caffe2的基本计算单元是 Operators,每个operator包含逻辑上的输入和输出
Caffe2长于移动和大规模部署。虽然Caffe2新增了支持多GPU的功能,这让新框架与Torch具有了相同的GPU支持能力,Caffe2支持一台机器上的多个GPU或具有一个及多个GPU的多台机器来进行分布式训练。
PyTorch适合进行研究、实验和尝试不同的神经网络;而Caffe2更偏向于工业应用,而且重点关注在移动端上的表现。
caffe2使用数据并行
底层依赖
Gloo - 用于多机训练的通信库
NCLL - NVIDIA推出的多GPU通信的NCCL库
Redis - 为了对分布式训练的节点进行有效管理, Caffe2采用NFS在节点间分享数据,或者采用Redis服务器来处理节点间的通信