从三大神经网络,测试对比TensorFlow、MXNet、CNTK、Theano四个框架
ras/tree/master/examples
测试的代码可以在作者的 GitHub 项目中找到:https://github.com/jasmeetsb/deep-learning-keras-projects
注意:有两个测试 MXNet 并没有参与,因为 MXNet 并不支持最新版的 Keras,且 MXNet 作为后端运行该模型需要调整大量代码。在其他三个测试中以 MXNet 作为后端也需要进行一些细微的调整,主要是新版本的 Keras 重命名了一些函数。
测试一:CIFAR-10 & CNN
学习模型的类型:卷积神经网络(CNN)
数据集/任务:CIFAR-10 小图片数据集
目标:将图片分类为 10 个类别
根据每一个 epoch 的训练速度,TensorFlow 要比 MXNet 快那么一点点。
而按照准确度/收敛速度来说,CNTK 在前 25 个 epoch 中领先一点,而在 50 个 epoch 后,其他框架都到达相近的准确度,而 CNTK 却略微下降。
测试二:MNIST & CNN
学习模型的类型:CNN
数据集/任务:MNIST 手写数字数据集
目标:将图片分类为 10 类手写数字
在该测试中,TensorFlow 明显要在训练时间上更加优秀,但在准确度/收敛速度上所有框架都有相似的特征。
测试三:MNIST&MLP
学习模型的类型:多层感知机/深度神经网络
数据集/任务:MNIST 手写数字数据集
目标:将图片分类为 10 类手写数字
在使用 MNIST 数据集执行标准的神经网络测试中,CNTK、TensorFlow 和 Theano 实现了相似的分数(2.5 – 2.7 s/epoch),而 MXNet 却只需要 1.4s/epoch。此外,MXNet 同样在准确度/收敛速度上有一点点优势。
测试四:MNIST&RNN
学习模型的类型:层级循环神经网络(HRNN)
数据集/任务:MNIST 手写数字数据集
目标:将图片分类为 10 类手写数字
在训练时间上,CNTK 和 MXNet 有相似的性能(162 – 164 s/epoch),TensorFlow 的时间为 179s/epoch,而 Theano 所需的时间则显著地增多。
测试五:BABI & RNN
学习模型的类型:循环神经网络(RNN)
数据集/任务:bAbi Project (https://research.fb.com/downloads/babi/)
目标:分别根据故事(story)和问题训练两个循环神经网络,致使合并的向量可以回答一系列 bAbi 任务。
该测试并没有使用 MXNet,TensorFlow 和 Theano 在每一个 epoch 上要比 CNTK 要快了一倍多。
结语
TensorFlow 在 CNN 测试中表现都是最好的,但是在 RNN 测试中表现并不太好。
CNTK 在 Babi RNN 和 MNIST RNN 测试上要比 TensorFlow 和 Theano 好得多,但是在 CNN 测试上要比 TensorFlow 差一些。
MXNet 在 RNN 测试上要比 CNTK 和 TensorFlow 要好一点,此外它在 MLP 上要比所有框架的性能都要好。不过 MXNet 并不支持 Keras v2 函数,所以我们并不能在没有修正代码的情况下直接测试,因此可能会有一点偏差。
Theano 在深度神经网络(MLP)中要比 TensorFlow 和 CNTK 好一点。
从上面的结果可以看出来,所有的深度学习框架都有其擅长的领域,并没有哪个框架一定要比其他框架好。CNTK 可作为 Keras 后端并用于 RNN 的使用案例,TensorFlow 可用于 CNN,而 MXNet 虽然显示了性能上非常大的潜力,但仍然还是让人期待其支持所有 Keras 函数的时候。在开源社区中,这些框架都在不断扩展与增强,从而提供更好的性能并轻松地部署到产品中。在考虑使用这些深度学习框架投入生产时,性能是首要的。在大多数情况下,我们还需要考虑部署的难易度和其他辅助工具,它们都将帮助我们管理产品化的机器学习模型。最后,所有的框架性能都是在作为 Keras 后端时测评的,所以会有一点误差,不过本文至少可以帮助大家对这些框架的性能有一定了解。此外本文在大家采用不同后端时可以给出一点相对客观的建议。
- CEVA推出深层神经网络框架 加快低功耗嵌入式系统中的机器学习技术的应用(09-23)
- 国产神经网络处理器出炉,视频监控冲向智能时代(05-21)
- 人工智能算法运算量有多大?CPU/GPU多到让你犯“密集恐惧症”(08-29)
- 神经网络电路速度不再受限?科学家新成果惊呆你(10-21)
- 这一场人工智能芯片大战,英特尔/谷歌/英伟达等都有啥实力?(03-27)
- 想要代替电子?光子芯片到底有啥优势(05-14)