【笔记】深度学习框架简介
2017-11-04 17:53
603 查看
1、Caffe
caffe的每一个模块都是一个Layer,设计网络结构时,只需要将layer拼接在一起。
优势:有很多训练好的模型,存储在Model Zoo中。
劣势:定义新的Layer比较麻烦,用户需要使用C++或者Cuda来定义,对RNN等时间序列的支持不好。
备注:scikit-learn中的estimator可以进行交叉验证和超参数的Grid search
2、Tensorflow
注意以下几个tf的组件/应用:
tensorboard 可视化:检测tf的运行过程,可视化computation graph
tensorflow serving组件:可以将tf训练好的模型导出,然后对外提供预测服务的RESTful接口
劣势:对于浅层网络,feed其mini-batch数据时,需要低效的Python循环来实现。
3、Theano
深度学习界的Numpy,基石;如同Numpy是Python科学计算的各个模块的基石。
对RNN的实现也很简单。
4、Torch
定义Layer不像Caffe那么麻烦,对RNN的实现也很简单。
编程语言:Lua
5、Keras
可以同时运行在Theano和Tensorflow上
编程语言:Python
优点:简单,新的模块容易添加,适用于最前沿的研究;支持级联的模型或任意的图结构的模型
缺点:无法使用多GPU
6、MXNet
最大的贡献者为百度
AWS(亚马逊公司旗下云计算服务平台)官方推荐的框架
优点:支持非常多的语言封装
7、DIGITS
Caffe的高级封装,模型定义、数据预处理都在浏览器中执行
优点:生成数据和结果的可视化统计报表,网络的可视化结构图
训练好的caffe模型可以直接使用
8、CNTK
语音识别领域广泛使用
支持多GPU
1-bit compression降低了通信代价
实现了1-bit SGD
9、DeepLearning4J
基于java和scala的开源分布式深度学习库
可以与hadoop和spark自动整合
10、Chainer
支持CUDA计算,少量代码即可加速
支持运行中动态定义的网络
11、Leaf
Autumn AI计划的重要组件
易于维护,依赖库少
性能好,速度快
12、DSSTNE
支持输入和输出非常多的Layer
模型并行
支持对超大稀疏数据的训练
注:笔记基于《Tensorflow实战》
caffe的每一个模块都是一个Layer,设计网络结构时,只需要将layer拼接在一起。
优势:有很多训练好的模型,存储在Model Zoo中。
劣势:定义新的Layer比较麻烦,用户需要使用C++或者Cuda来定义,对RNN等时间序列的支持不好。
备注:scikit-learn中的estimator可以进行交叉验证和超参数的Grid search
2、Tensorflow
注意以下几个tf的组件/应用:
tensorboard 可视化:检测tf的运行过程,可视化computation graph
tensorflow serving组件:可以将tf训练好的模型导出,然后对外提供预测服务的RESTful接口
劣势:对于浅层网络,feed其mini-batch数据时,需要低效的Python循环来实现。
3、Theano
深度学习界的Numpy,基石;如同Numpy是Python科学计算的各个模块的基石。
对RNN的实现也很简单。
4、Torch
定义Layer不像Caffe那么麻烦,对RNN的实现也很简单。
编程语言:Lua
5、Keras
可以同时运行在Theano和Tensorflow上
编程语言:Python
优点:简单,新的模块容易添加,适用于最前沿的研究;支持级联的模型或任意的图结构的模型
缺点:无法使用多GPU
6、MXNet
最大的贡献者为百度
AWS(亚马逊公司旗下云计算服务平台)官方推荐的框架
优点:支持非常多的语言封装
7、DIGITS
Caffe的高级封装,模型定义、数据预处理都在浏览器中执行
优点:生成数据和结果的可视化统计报表,网络的可视化结构图
训练好的caffe模型可以直接使用
8、CNTK
语音识别领域广泛使用
支持多GPU
1-bit compression降低了通信代价
实现了1-bit SGD
9、DeepLearning4J
基于java和scala的开源分布式深度学习库
可以与hadoop和spark自动整合
10、Chainer
支持CUDA计算,少量代码即可加速
支持运行中动态定义的网络
11、Leaf
Autumn AI计划的重要组件
易于维护,依赖库少
性能好,速度快
12、DSSTNE
支持输入和输出非常多的Layer
模型并行
支持对超大稀疏数据的训练
注:笔记基于《Tensorflow实战》
相关文章推荐
- Keras深度学习框架学习笔记系列(2)- Keras的安装与配置
- 深度学习笔记——深度学习框架TensorFlow之MLP(十四)
- 【Tensorflow keras】轻量级深度学习框架 Keras简介
- Tensorflow 实战 google 深度学习框架 笔记(一)滑动模型
- 深度学习笔记——深度学习框架TensorFlow(十一)
- jBPM学习笔记—框架设计简介
- Django框架学习笔记(24.缓存实例简介)
- jBPM-jPDL学习笔记—框架设计简介(四)
- 深度学习笔记——深度学习框架TensorFlow(一)
- CS224n 笔记1-自然语言处理与深度学习简介
- jBPM学习笔记—框架设计简介
- Android网络学习笔记--------框架及简介
- jBPM-jPDL学习笔记—框架设计简介(五)
- 深度学习框架Caffe学习笔记(1)-Caffe环境搭建
- jBPM学习笔记—框架设计简介
- 吴恩达神经网络和深度学习课程自学笔记(七)之超参数调试,Batch正则化和程序框架
- [转]dwr3框架学习笔记--简介及原理简介
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之14-Foundation框架简介——黑马 IOS 技术博客
- jBPM-jPDL学习笔记—框架设计简介(六)
- 深度学习框架Caffe学习笔记(5)-使用gflags解析命令行参数