python神经网络编程 豆瓣,用python构建神经网络

本文详细介绍了Python中七个主流的深度学习框架:Theano、Lasagne、Blocks、TensorFlow、Keras、MXNet和PyTorch,探讨了它们的特点、优缺点以及适用场景。Theano和Lasagne适合需要高度灵活性的高级用户,而Blocks提供了更高级的抽象。TensorFlow因其广泛支持和社区活跃度成为热门选择,Keras以其易用性脱颖而出,MXNet在性能上有显著优势,PyTorch则以动态计算图受到青睐。选择框架时应考虑灵活性、易用性、社区支持和特定需求。
摘要由CSDN通过智能技术生成

python深度学习框架学哪个

Python深度学习生态系统在这几年中的演变实属惊艳。pylearn2,已经不再被积极地开发或者维护,大量的深度学习库开始接替它的位置。这些库每一个都各有千秋。

我们已经在indico的产品或者开发中使用了以下列表中的大部分的技术,但是对于剩下一些我们没有使用的,我将会借鉴他人的经验来帮助给出Python深度学习生态系统的清晰的、详尽的理解。

确切地说,我们将会关注:TheanoLasagneBlocksTensorFlowKerasMXNetPyTorch下面是对这7大Python深度学习框架的描述以及优缺点的介绍。

Theano描述:Theano是一个Python库,允许你定义、优化并且有效地评估涉及到多维数组的数学表达式。它与GPUs一起工作并且在符号微分方面表现优秀。

概述:Theano是数值计算的主力,它支持了许多我们列表当中的其他的深度学习框架。

Theano由FrédéricBastien创建,这是蒙特利尔大学机器学习研究所(MILA)背后的一个非常优秀的研究团队。

它的API水平较低,并且为了写出效率高的Theano,你需要对隐藏在其他框架幕后的算法相当的熟悉。

如果你有着丰富的学术机器学习知识,正在寻找你的模型的精细的控制方法,或者想要实现一个新奇的或者不同寻常的模型,Theano是你的首选库。总而言之,为了灵活性,Theano牺牲了易用性。

优点:灵活正确使用时的高性能缺点:较高的学习难度低水平的API编译复杂的符号图可能很慢Lasagne描述:在Theano上建立和训练神经网络的轻量级库概述:因为Theano致力于成为符号数学中最先且最好的库,Lasagne提供了在Theano顶部的抽象,这使得它更适合于深度学习。

它主要由当前DeepMind研究科学家SanderDieleman编写并维护。

Lasagne并非是根据符号变量之间的函数关系来指定网络模型,而是允许用户在层级思考,为用户提供了例如「Conv2DLayer」和「DropoutLayer」的构建块。

Lasagne在牺牲了很少的灵活性的同时,提供了丰富的公共组件来帮助图层定义、图层初始化、模型正则化、模型监控和模型训练。

优点:仍旧非常灵活比Theano更高级的抽象文档和代码中包含了各种PastaPuns缺点:社区小Blocks描述:用于构建和训练神经网络的Theano框架概述:与Lasagne类似,Blocks是在Theano顶部添加一个抽象层使深度学习模型比编写原始的Theano更清晰、更简单、定义更加标准化。

它是由蒙特利尔大学机器学习研究所(MILA)编写,其中一些人为搭建Theano和第一个神经网络定义的高级接口(已经淘汰的PyLearn2)贡献了自己的一份力量。

比起Lasagne,Blocks灵活一点,代价是入门台阶较高,想要高效的使用它有不小的难度。

除此之外,Blocks对递归神经网络架构(recurrentneuralnetworkarchitectures)有很好的支持,所以如果你有兴趣探索这种类型的模型,它值得一看。

除了TensorFlow,对于许多我们已经部署在indico产品中的API,Blocks是其首选库。

优点:仍旧非常灵活比Theano更高级的抽象易于测试缺点:较高的学习难度更小的社区TensorFlow描述:用于数值计算的使用数据流图的开源软件库概述:TensorFlow是较低级别的符号库(比如Theano)和较高级别的网络规范库(比如Blocks和Lasagne)的混合。

即使它是Python深度学习库集合的最新成员,在GoogleBrain团队支持下,它可能已经是最大的活跃社区了。

它支持在多GPUs上运行深度学习模型,为高效的数据流水线提供使用程序,并具有用于模型的检查,可视化和序列化的内置模块。

最近,TensorFlow团队决定支持Keras(我们列表中下一个深度学习库)。

虽然TensorFlow有着自己的缺点,但是社区似乎同意这一决定,社区的庞大规模和项目背后巨大的动力意味着学习TensorFlow是一次安全的赌注。

因此,TensorFlow是我们今天在indico选择的深度学习库。

优点:由软件巨头Google支持非常大的社区低级和高级接口网络训练比基于Theano配置更快的模型编译完全地多GPU支持缺点:虽然Tensorflow正在追赶,但是最初在许多基准上比基于Theano的慢。

RNN支持仍不如TheanoKeras描述:Python的深度学习库。支持Convnets、递归神经网络等。在Theano或者TensorFlow上运行。

概述:Keras也许是水平最高,对用户最友好的库了。由FrancisChollet(GoogleBrain团队中的另一个成员)编写和维护。

它允许用户选择其所构建的模型是在Theano上或是在TensorFlow上的符号图上执行。

Keras的用户界面受启发于Torch,所以如果你以前有过使用Lua语言的机器学习经验,Keras绝对值得一看。由于部分非常优秀的文档和其相对易用性,Keras的社区非常大并且非常活跃。

最近,TensorFlow团队宣布计划与Keras一起支持内置,所以很快Keras将是TensorFlow项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值