前言
做一下几个著名的深度学习的框架笔记
深度学习开发的基本框架:以计算图为框架的核心,采用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难,灵活性低
备注:不适合新手学习
五、PyTorch
特点:python优先的深度学习框架,GPU加速
优点:社区活跃,保证可持续性;可扩展;动态图;简洁易用
六、Caffe
特点:基于C++的深度学习框架
优点:清晰易读,容易上手;
缺点:不能多机、跨平台、可扩展性差;需要安装大量依赖库,涉及版本冲突;
备注:升级版Caffe2优化了运行速度、跨平台、可扩展性,设计上与TensorFlow像
主页:Caffe: http://caffe.berkeleyvision.org
Caffe2: https://caffe2.ai
总结
比较常用的框架是TensorFlow和PyTorch.
ref: