您的位置:首页 > 大数据 > 人工智能

【笔记】深度学习框架简介

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实战》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ai