2018.09.13

1. 训练时间: Network DenseNet-121 (Multi-GPU)

运行于 SSD 硬盘

框架 1xV100/CUDA 9/CuDNN 7 4xV100/CUDA 9/CuDNN 7
Pytorch 27min 10min
Keras(TF) 38min 18min
Tensorflow 33min 22min
MXNet(Gluon) 29min 10min

2. 1000张图片推理时间(s): Network ResNet-50

框架 K80/CUDA 8/CuDNN 6 P100/CUDA 8/CuDNN 6
CNTK 8.5 1.6
Keras(TF) 10.2 2.9
Tensorflow 6.5 1.8
MXNet 7.7 1.6
PyTorch 7.7 1.9

3. CPU推理时间(s): E5-2630v4, Network FCN5

框架 安装成本 代码理解程度 API丰富程度 模型丰富程度 文档完整程度 训练与测过程 学习资源
CNTK 良好 良好 良好 良好 优秀 良好 良好
Keras 良好 良好 优秀 优秀 良好 优秀 良好
MXNet 良好 良好 良好 良好 良好 优秀 优秀
Pytorch 优秀 优秀 良好 良好 优秀 良好 良好
Tensorflow 良好 良好 优秀 优秀 优秀 优秀 优秀
Caffe 良好 优秀 良好 良好 优秀 良好 优秀

目前众多的深度学习框架,使用者只要选择适合自己的框架即可,我们在日常使用中,考虑到训练的快捷程度,部署难度以及对CNN、RNN模型的直接程度,推荐以下几款深度学习框架。

1.Keras

2.TensorFlow

谷歌出品,追随者众多。代码质量高,支持模型丰富,支持语言多样, TensorBoard 可视化工具使用方便。

3.MXNet

  1. DeepLearningFrameworks