随着深度学习在计算机视觉、自然语言处理等领域取得的成果越来越显著,对深度学习的讨论越来越多。作为当下最热门的话题,从 2015 年至今,短短三年时间,谷歌、Facebook、微软等国外巨头,百度、小米等国内企业,前后围绕深度学习推出一系列开源框架。
谷歌于 2015 年底推出 TensorFlow,在开源时,谷歌曾表示,开源 TensorFlow 能够加速谷歌在人工智能上的部署,帮助其在人工智能发展日益重要的未来抢占更多主导权。过去三年间,TensorFlow 在开发者社区享有盛誉,已成为最为常用的深度学习框架之一,目前不仅支持 Eager Execution 动态图机制,还集成了 NVIDIA TensorRT,此外,TensorFlow 中文社区论坛(https://www.tensorflowers.cn)也正式上线。
2016 年初,微软开源 CNTK 深度学习工具包。CNTK 具有相当不错的可扩展性、速度和精确性,在语音识别领域被广泛使用。在随后的改进中,这一框架提供了对 ONNX 标准的更好支持,在分布式训练上迎来多项性能改进。
2017 年初,Facebook 在 Torch 的基础上,针对 Python 语言发布了全新的机器学习工具包——PyTorch。目前,PyTorch 已经融合了 Caffe2 和 ONNX 支持模块化、面向生产的功能,并保留了其灵活、以研究为中心的设计。
而在国内,2016 年 8 月底,百度开源自研深度学习平台 PaddlePaddle。2017 年 11 月,PaddlePaddle 发布三项新功能:PaddlePaddleFluid,PaddlePaddleCloud,PaddlePaddleEDL,这三大新功能的推出,进一步加强了 PaddlePaddle 的易用性,提高了效率,并降低了开发者的使用门槛。
今年7月,小米也拥抱开源,发布自家深度学习框架 MACE。据悉,MACE 支持 TensorFlow 和 Caffe 模型,提供转换工具,可以将训练好的模型转换成专有的模型数据文件,同时还可以选择将模型转换成C++代码,支持生成动态库或者静态库,提高模型保密性。
这一年,雷锋网 AI 科技评论也在时刻关注着这些发展和变化,而关于使用哪个深度学习框架,也一直引发诸多业内人士的争论,到底哪个框架热度最高,或许能从 Google Trends 中一窥究竟。
从 Google Trends 过去三年的统计数据可以看到,在全球范围内计算机科学领域,TensorFlow、Keras、PyTorch、Caffe、Theano 这五个框架在 Google 网页搜索的热度中,TensorFlow 一直处于领先状态,Keras 位居第二。
而从过去十二个月的数据中可以看到,这五个框架的热度波动较为平缓。
而从中国过去十二个月的搜索数据中可以看到,虽然 TensorFlow 的热度依旧占据领先,但 PyTorch 的平均热度比 Keras 要高。
从美国过去十二个月的搜索数据可以看到,Keras 的搜索热度大于 PyTorch。
而在搜索框架之后,大家究竟会展开哪些相关查询呢?
基于全球过去三年间的搜索数据,可以看到,TensorFlow 相关查询排名前三的热词分别是:
python tensorflow
tensorflow machine learning
tensorflow github
Keras 相关查询排名前三的热词也涉及到 TensorFlow,分别是:
keras python
tensorflow keras
tensorflow
就连 PyTorch 排名前三的热词也与 TensorFlow 相关,分别为:
pytorch github
lstm pytorch
tensorflow
结合以上各类统计数据,足以证明 TensorFlow 目前在各类深度学习框架中的统治地位。从过去一年间的更新来看,谷歌一直在增强 TensorFlow 的易用性和高效性,如今年推出的 Swift for TensorFlow,将 TensorFlow 计算图与 Eager Execution 的灵活性和表达能力结合在一起,同时还注重提高整个软件架构每一层的可用性。
此外,还推出 TensorFlow 中文社区论坛,提供技术问答、教程分享、案例展示等多个栏目,旨在推进 TensorFlow 在中国的发展。
当然,对于深度学习框架的使用之争一直没有停止过,Keras 和 PyTorch 目前也均有相当庞大的社群。
究竟哪个框架好用,各个框架的优劣在哪里?雷锋网 AI 研习社社区中有包含各种框架的各类干货教程,相信你看完之后,势必会 pick 到最适合自己的深度学习框架。