前言

做一下几个著名的深度学习的框架笔记

深度学习开发的基本框架:以计算图为框架的核心,采用GPU加速计算


一、Theano

特点:第一个python的深度学习框架,为学术研究而做

已退出历史舞台


二、Tensorflow

推出方: 谷歌

特点:基于计算图实现自动微分系统

优点:能打大型集群上工作,功能强大,支持各服务器和移动设备;支持包括python、R、java等语言

缺点:版本不兼容;系统设计复杂,总代码约100万行;一个功能有多种实现方式,质量良莠不齐;图静态,不利于扩展

github:https://github.com/tensorflow/tensorflow


三、MXNet

推出方: 亚马逊

优点:分布性能更优,占更小的内存和显存;支持包括python、R、java等语言;适合云平台

缺点:接口档案不完善,框架更新迭代快,代码更新速度跟不上

主页:https://mxnet.incubator.apache.org/

备注:不适合新手


四、keras

特点:高层神经网络API,纯python

优点:容易上手

缺点:封装过度,速度慢,debug难,灵活性低

备注:不适合新手学习

主页:https://keras.io


五、PyTorch

特点:python优先的深度学习框架,GPU加速

优点:社区活跃,保证可持续性;可扩展;动态图;简洁易用

主页:http://pytorch.org


六、Caffe

特点:基于C++的深度学习框架

优点:清晰易读,容易上手;

缺点:不能多机、跨平台、可扩展性差;需要安装大量依赖库,涉及版本冲突;

备注:升级版Caffe2优化了运行速度、跨平台、可扩展性,设计上与TensorFlow像

主页:Caffe: http://caffe.berkeleyvision.org
Caffe2: https://caffe2.ai


总结

比较常用的框架是TensorFlow和PyTorch.

ref:
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐