1. Theano https://github.com/Theano/Theano
    描述: Theano 是一个python库, 允许你定义, 优化并且有效地评估涉及到多维数组的数学表达式. 它与GPUs一起工作, 并且在符号微分方面表现优秀.
    文档: http://deeplearning.net/software/theano/
    概述: Theano是数值计算的主力, 它支持了许多我们列表当中的其他的深度学习框架. Theano由 frederic bastien 创建, 这是蒙特利尔大学机器学习研究所背后的一个非常优秀的研究团队. 它的API水平较低, 并且为了写出效率高的Theano, 你需要对隐藏在其他框架幕后的算法相当的熟悉. 如果你有首丰富的学术机器学习知识, 正在寻找你的模型的精细的控制方法, 或者想要实现一个新奇的或者不同寻常的模型, Theano是你的首选库. 总而言之, 为了灵活性, Theano牺牲了易用性.
    优点: 灵活, 正确使用时的高性能
    缺点: 较高的学习难度, 低水平的API, 编译复杂的符号图可能很慢

  2. Lasagne https://github.com/Lasagne/Lasagne
    描述:在Theano上建立和训练神经网络的轻量级库
    文档:http://lasagne.readthedocs.org/
    概述:因为Theano致力于成为符号数学中最先且最好的库,Lasagne提供了在Theano 顶部的抽象,这使得它更适合于深度学习。它主要由当前DeepMind研究科学家Sander Dieleman编写并维护。Lasagne并非是根据符号变量之间的函数关系来指定网络模型,而 是允许用户在层级思考,为用户提供了例如「Conv2DLayer」和「DropoutLayer」的构建 块。Lasagne在牺牲了很少的灵活性的同时,提供了丰富的公共组件来帮助图层定义、图 层初始化、模型正则化、模型监控和模型训练。
    优点:仍旧非常灵活, 比Theano更局级的抽象, 文档和代码中包含了各种Pasta Puns
    缺点:社区小

  3. Blocks https://github.com/mila-udem/blocks
    描述:用于构建和训练神经网络的Theano框架
    文档:http://blocks.reackhedocs.io/en/latest/
    概述:与Lasagne类似,Blocks是在Theano顶部添加一个抽象层使深度学习模型比编写 原始的Theano更清晰、更简单、定义更加标准化。它是由蒙特利尔大学机器学习研究所 (MILA)编写,其中一些人为搭建Theano和第一个神经网络定义的高级接口(已经淘汰 的PyLearn2)贡献了自己的_份力量。比起Lasagne,Blocks灵活一点,代价是入门台阶较高,想要高效的使用它有不小的难度。除此之外,Blocks对递归神经网络架构 (recurrent neural network architectures)有很好的支持,所以如果你有兴趣探索这种 类型的模型,它值得一看。除了 TensorFlow,对于许多我们已经部署在indico产品中的 API,Blocks是其首选库。
    优点:仍旧非常灵活, 比Theano更高级的抽象, 易于测试
    缺点:较高的学习难度, 更小的社区

  4. TensorFlow https://github.com/tensorflow/tensorflow
    描述:使用数据流图进行数值计算的的开源软件库
    文档:https://www.tensorflow.org/api_docs/python/
    概述:TensorFlow是较低级别的符号库(比如Theano)和较高级别的网络规范库(比如 Blocks和Lasagne)的混合。即使它是Python深度学习库集合的最新成员,在Google Brain团队支持下,它可能已经是最大的活跃社区了。它支持在多GPUs上运行深度学习模 型,为高效的数据流水线提供使用程序,并具有用于模型的检查,可视化和序列化的内置 模块。最近,TensorFlow团队决定支持Keras (我们列表中下一个深度学习库)。虽然 TensorFlow有着自己的缺点,但是社区似乎同意这一决定,社区的庞大规模和项目背后巨 大的动力意味着学习TensorFlow是一次安全的赌注。因此,TensorFlow是我们今天在 indico选择的深度学习库。
    优点:由软件巨头Google支持, 非常大的社区, 低级和高级接口网络训练, 比基于Theano配置更快的模型编译, 完全地多GPU支持
    缺点: 虽然Tensorflow正在追赶,但是最初在许多基准上比基于Theano的慢, RNN支持仍不如Theano

  5. Keras https://github.com/fchollet/keras
    描述:Python的深度学习库。支持Convnets、递归神经网络等。在Theano或者TensorFlow 上运行。
    文档:https://keras.io/
    概述:Keras也许是水平最高,对用户最友好的库了。由FrancisChollet (Goog丨eBrain团队中的另一个成员)编写和维护。它允许用户选择其所构建的模型是在Theano上或是在TensorFlow上的符号图上执行。Keras的用户界面受启发于Torch,所以如果你以前有过使用Lua语言的机器学习经验,Keras绝对值得一看。由于部分非常优秀的文档和其相对易用性,Keras的社区非常大并且非常活跃。最近,TensorFlow团队宣布计划与Keras —起支持内置,所以很快Keras将是TensorFlow项目的一个分组。
    优点:可供选择的Theano或者TensorFlow后端, 直观、高级别的端口, 更易学习
    缺点:不太灵活,比其他选择更规范

  6. MXNet https://github.com/dmlc/mxnet
    描述:MXNet是一个旨在提高效率和灵活性的深度学习框架.
    文档:http://mxnet.io/api/python/index.html#python-api-reference
    概述:MXNet是亚马逊(Amazon)选择的深度学习库,并且也许是最优秀的库。它拥有类似于Theano和TensorFlow的数据流图,为多GPU配置提供了良好的配置,有着类似于Lasagne和Blocks更高级别的模型构建块,并且可以在你可以想象的任何硬件上运行(包括手机)。对Python的支持只是其冰山一角 : MXNet同样提供了对R、Julia、C++、Scala、Matlab,和Java的接口。如果你正在寻找最佳的性能,选择MXNet吧,但是你必须愿意处理与之相对的一些MXNet的怪癖。
    优点:速度的标杆, 非常灵活
    缺点:最小的社区, 比Theano更困难的学习难度

  7. PyTorch
    链接:https://github.com/pytorch/pytorch
    描述:Python中的张量(Tensors)和动态神经网络,有着强大的GPU加速。
    文档:http://pytorch.org/docs/
    概述:刚刚放出一段时间,PyTorch就已经是我们Python深度学习框架列表中的一个新的成员了。它是从Lua的Torch库到Python的松散端口,由于它由Facebook的人工智能研究团队( ArtificiaUntelligence Research team (FAIR))支持且因为它用于处理动态计算图(Theano,TensorFlow或者其他衍生品没有的特性,编译者注:现在TensorFlow好像支持动态计算图),它变得非常的有名。PyTorch在Python深度学习生态系统将扮演怎样的角色还不得而知,但所有的迹象都表明,PyTorch是我们列表中其他框架的一个非常棒的选择。
    优点:来自Facebook组织的支持, 完全地对动态图的支持, 高级和低级API的混合
    缺点:比其他选择, PyTorch 还不太成熟(用他们自己的话说: 我们正处于早期测试版本, 期待一些冒险.), 除了官方文档外, 只有限的参考文献/资源.

7大python 深度学习框架的描述及优缺点绍的更多相关文章

  1. ArXiv最受欢迎开源深度学习框架榜单:TensorFlow第一,PyTorch第四

    [导读]Kears作者François Chollet刚刚在Twitter贴出最近三个月在arXiv提到的深度学习框架,TensorFlow不出意外排名第一,Keras排名第二.随后是Caffe.Py ...

  2. 从TensorFlow到PyTorch:九大深度学习框架哪款最适合你?

    开源的深度学习神经网络正步入成熟,而现在有许多框架具备为个性化方案提供先进的机器学习和人工智能的能力.那么如何决定哪个开源框架最适合你呢?本文试图通过对比深度学习各大框架的优缺点,从而为各位读者提供一 ...

  3. 一个可扩展的深度学习框架的Python实现(仿keras接口)

    一个可扩展的深度学习框架的Python实现(仿keras接口) 动机 keras是一种非常优秀的深度学习框架,其具有较好的易用性,可扩展性.keras的接口设计非常优雅,使用起来非常方便.在这里,我将 ...

  4. [深度学习大讲堂]从NNVM看2016年深度学习框架发展趋势

    本文为微信公众号[深度学习大讲堂]特约稿,转载请注明出处 虚拟框架杀入 从发现问题到解决问题 半年前的这时候,暑假,我在SIAT MMLAB实习. 看着同事一会儿跑Torch,一会儿跑MXNet,一会 ...

  5. 贾扬清分享_深度学习框架caffe

    Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的 贾扬清,目前在Google工作.本文是根据机器学习研究会组织的online分享的交流内容,简单的整理了一下. 目录 ...

  6. TensorFlow与主流深度学习框架对比

    引言:AlphaGo在2017年年初化身Master,在弈城和野狐等平台上横扫中日韩围棋高手,取得60连胜,未尝败绩.AlphaGo背后神秘的推动力就是TensorFlow--Google于2015年 ...

  7. Reading | 《TensorFlow:实战Google深度学习框架》

    目录 三.TensorFlow入门 1. TensorFlow计算模型--计算图 I. 计算图的概念 II. 计算图的使用 2.TensorFlow数据类型--张量 I. 张量的概念 II. 张量的使 ...

  8. tensorflow(深度学习框架)详细讲解及实战

    还未完全写完,本人会一直持续更新!~ 各大深度学习框架总结和比较 各个开源框架在GitHub上的数据统计,如下表: 主流深度学习框架在各个维度的评分,如下表: Caffe可能是第一个主流的工业级深度学 ...

  9. 转:TensorFlow和Caffe、MXNet、Keras等其他深度学习框架的对比

    http://geek.csdn.net/news/detail/138968 Google近日发布了TensorFlow 1.0候选版,这第一个稳定版将是深度学习框架发展中的里程碑的一步.自Tens ...

随机推荐

  1. Controllers的使用

    代码 angularjs.html <!doctype html> <html> <head> <meta charset="UTF-8" ...

  2. luoguP1772 [ZJOI2006]物流运输 x

    P1772 [ZJOI2006]物流运输 题目描述 物流公司要把一批货物从码头A运到码头B.由于货物量比较大,需要n天才能运完.货物运输过程中一般要转停好几个码头.物流公司通常会设计一条固定的运输路线 ...

  3. 如何制作自己的R包

    如何制作自己的R包? 摘自 方匡南 等编著<R数据分析-方法与案例详解>.电子工业出版社 R包简介 R包提供了一个加载所需代码.数据和文件的集合.R软件自身就包含大约30种不同功能的包,这 ...

  4. SSM框架搭建,以及mybatis学习

    前两天在研究SSM框架,然后看到一篇博文,写的很清晰,照着实现了一下,这里就不重复写了,把博文地址留一下 http://blog.csdn.net/zhshulin/article/details/3 ...

  5. unittest详解(七) 自动生成测试报告

    用例执行完成后,执行结果默认是输出在屏幕上,其实我们可以把结果输出到一个文件中,形成测试报告. unittest自带的测试报告是文本形式的,如下代码: import unittest if __nam ...

  6. Thread的setDaemon(true)方法的作用

    定义:守护线程--也称“服务线程”,在没有用户线程可服务时会自动离开.优先级:守护线程的优先级比较低,用于为系统中的其它对象和线程提供服务.设置:通过setDaemon(true)来设置线程为“守护线 ...

  7. 17.Python print()函数高级用法

    前面使用 print() 函数时,都只输出了一个变量,但实际上 print() 函数完全可以同时输出多个变量,而且它具有更多丰富的功能. print() 函数的详细语法格式如下: print (val ...

  8. getFieldDecorator用法(一)——登录表单

    之前使用antd的ui表单,却没发现这么好用的用法,推荐给大家 import React from "react"; import { Card, Form, Input, But ...

  9. Zeller 公式:计算任意一天是星期几

    Zeller's Formula: For the Gregorian calendar, Zeller's Formula is \[\displaystyle W=\left(\left\lflo ...

  10. 实现一个成熟的底层毛玻璃效果(纯CSS)

    写在前面 毛玻璃背景是一个很常见的网页样式,想要实现,其实并不难,但经过我在网上的搜索发现,大量实现方法都较为不规范,且把问题复杂化了(例如各种z-index属性和position的定位)现提供一个代 ...