Python 深度学习框架汇总
Python深度学习框架回顾,最近我一直在思考某个DataScienceStackExchange上存在很久的问题:什么才是最好的基于Python的神经网络库?时光飞逝,在过去的两年半的时间里涌现出了很多基于Python的深度学习框架,而我2014年七月份推荐的pylearn2这个框架早已物是人非,不再维护。可喜的是已经有不少优秀的深度学习框架填补了它的空缺,成为了indico日常产品开发中重要的组成部分。当然,尺有所短,寸有所长,每个框架都有其优势与不足;我也希望在本文中基于自己的工作经历对于2017年中的Python深度学习生态进行一个综合宏观的介绍,希望为初学者勾勒出一幅清晰的群雄逐鹿图。具体而言,本文会着眼于以下框架:
Theano
Lasagne
Blocks
TensorFlow
Keras
MXNet
PyTorch
Theano
描述:
Theano是一个允许你定义、优化以及高效执行包含多维数组的数学表达式的Python库;它支持GPU操作,并且能够进行高速的符号微分运算。
文档:
总结:
Theano不仅仅是一个可以独立使用的库,它还是我们下面介绍的很多框架的底层数值计算引擎;它来自蒙特利尔大学MILA实验室,由FrédéricBastien最早创建。Theano提供的API相对底层,因此如果你希望高效运行Theano,你必须对它的底层算法非常熟悉。如果你拥有丰富的机器学习理论知识与经验,并且你希望对于自己的模型有细粒度的控制或者自己动手创建新的模型,那么Theano是个不错的选择。总结而言,Theano最大的优势就是其灵活性。
优势:
相对灵活
正确使用的话性能较好
不足:
陡峭的学习曲线
大量的底层API
编译复杂符号图的时候可能会很慢
资源:
安装指南
官方教程
Theano幻灯介绍与实践案例
基于Theano实现从线性拟合到CNN
基于Python&Theano的深度学习介绍
Lasagne
描述:
基于Theano的轻量级神经网络构建与训练库。
文档:
http://lasagne.readthedocs.org/
总结:
鉴于Theano着重打造面向符号数学的工具库,Lasagne提供了基于Theano的相对高层的抽象,使它对于偏向工程的深度学习开发者更为友好。它最早由DeepMind的研究学者SanderDieleman开发与维护。不同于Theano中网络模型需要指定为符号变量的表达式,Lasagne允许用户以层的概念来定义网络,并且引入了所谓的“Conv2DLayer”与“DropoutLayer”。Lasagne以牺牲部分灵活性为代价提供了常用的组件来进行层构建、初始化、模型正则化、模型监控与模型训练。
优势:
还是比较灵活的
比Theano提供了更高层的抽象接口
文档与代码更为条理清晰
不足:
社区并不是很活跃
资源:
官方GitHub主页
官方安装指南
官方Lasagne教程
示范代码
Blocks
描述:
基于Theano的神经网络构建与训练框架。
Python培训,就选光环大数据Python培训机构!python学习地址:http://hadoop.aura.cn/python/
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服!