[深度学习]深度学习框架总结 (3)

#5. Torch框架 
##5.1 Torch诞生 

Torch诞生已经有十年之久,但是真正起势得益于去年Facebook开源了大量Torch的深度学习模块和扩展。Torch另外一个特殊之处是采用了不怎么流行的编程语言Lua(该语言曾被用来开发视频游戏)。 

5.2 Torch优缺点 5.2.1 优点 1)Facebook力推的深度学习框架,主要开发语言是C和Lua 2)有较好的灵活性和速度 3)它实现并且优化了基本的计算单元,使用者可以很简单地在此基础上实现自己的算法,不用浪费精力在计算优化上面。核心的计算单元使用C或者cuda做了很好的优化。在此基础之上,使用lua构建了常见的模型 4)速度最快,见convnet-benchmarks 5)支持全面的卷积操作: 时间卷积:输入长度可变,而TF和Theano都不支持,对NLP非常有用; 3D卷积:Theano支持,TF不支持,对视频识别很有用

1

2

3

4

5

6

7

1

2

3

4

5

6

7

5.2.2 缺点 1)是接口为lua语言,需要一点时间来学习。 2)没有Python接口 3)与Caffe一样,基于层的网络结构,其扩展性不好,对于新增加的层,需要自己实现(forward, backward and gradient update)

1

2

3

1

2

3

5.3 Torch教程

MXNet教程 
深度学习笔记(二)用Torch实现线性回归

6. Theano框架 6.2 Theano优缺点 6.2.1 优点 1)2008年诞生于蒙特利尔理工学院,主要开发语言是Python 2)Theano派生出了大量深度学习Python软件包,最著名的包括Blocks和Keras 3)Theano的最大特点是非常的灵活,适合做学术研究的实验,且对递归网络和语言建模有较好的支持 4)是第一个使用符号张量图描述模型的架构 5)支持更多的平台 6)在其上有可用的高级工具:Blocks, Keras等

1

2

3

4

5

6

1

2

3

4

5

6

6.2.2 缺点 1)编译过程慢,但同样采用符号张量图的TF无此问题 2)import theano也很慢,它导入时有很多事要做 3)作为开发者,很难进行改进,因为code base是Python,而C/CUDA代码被打包在Python字符串中

1

2

3

1

2

3

6.3 Theano教程

Theano 官方中文教程(翻译)(三)——多层感知机(MLP) 
Theano官方中文教程(翻译)(四)—— 卷积神经网络(CNN)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zggjjp.html