全栈工程师开发手册 (作者:栾鹏)

python教程全解

Theano

Theano在深度学习框架中是祖师级的存在。Theano基于Python语言开发的,是一个擅长处理多维数组的库,这一点和numpy很像。当与其他深度学习库结合起来,它十分适合数据探索。它为执行深度学习中大规模神经网络算法的运算所设计。其实,它可以被更好的理解为一个数学表达式的编辑器:用符号式语言定义你想要的结果,该框架会对你的程序进行编译,来高效运行于GPU或CPU。它与后来出现的TensorFlow功能十分相似,因而两者常常被放在一起比较。它们本身都偏底层,同样的,Theano 像是一个研究平台多过是一个深度学习库。你需要从底层开始做许多工作,来创建你需要的模型。比方说,Theano 没有神经网络的分级。但由于它不支持多 GPU 和水平扩展,在 TensorFlow 的热潮下(它们针对同一个领域),Theano 已然开始被遗忘了。

TensorFlow

TensorFlow是由google开源出来的,因为有google作为后台,Tensorflow在深度学习领域一直很有名气。TensorFlow是一个采用数据流图,用于数值计算的开源软件库。它支持Python和C++两种类型的接口。TensorFlow可支持分布式计算,它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。

TensorFlow官方文档中文版:www.beibq.cn/book/cw0v22

Caffe

Caffe是深度学习框架中的老牌中的老牌。Caffe有非常好的特性,但也有一些小缺点。起初的时候它并不是一个通用框架,而仅仅关注计算机视觉,但它具有非常好的通用性。Caffe 的缺点是它不够灵活。如果你想给它来一点新改变,那你就需要使用 C++ 和 CUDA 编程,不过你也可以使用 Python 或 Matlab 接口进行一些小改变。Caffe的文档非常贫乏。你需要花大量时间检查代码才能理解它。Caffe的最大缺点之一是它的安装。它需要解决大量的依赖包,我曾经安装过 Caffe 两次,真正痛苦至极。但要清楚,Caffe 并不是一无是处。在投入了生产的计算机视觉系统的工具上,Caffe 是无可争议的领导者。它非常稳健非常快速。我的建议是:用 Keras 进行实验和测试,然后迁移到 Caffe 中进行生产。

SciKit-learn

scikit-learn是老牌的开源 Python 算法框架,始于 2007 年的 Google Summer of Code 项目,最初由 David Cournapeau 开发。它是一个简洁、高效的算法库,提供一系列的监督学习和无监督学习的算法,以用于数据挖掘和数据分析。SciKit-learn几乎覆盖了机器学习的所有主流算法,这为其在Python开源世界中奠定了江户地位。它的算法库建立在 SciPy (Scientific Python) 之上——你必须先安装 SciPy 才能使用 SciKit-learn 。它的框架中一共包括了:NumPy: 基础的多维数组包SciPy: 科学计算的基础库Matplotlib: 全面的 2D/3D 测绘IPython: 改进的交互控制器Sympy: 符号数学Pandas:数据结构和分析它命名的由来:SciPy 的扩展和模块在传统上被命名为 SciKits。而提供学习算法的模组就被命名为 scikit-learn。它与 Python 世界另一大算法框架——TensorFlow 的主要区别是:TensorFlow 更底层。而 SciKit-learn 提供了执行机器学习算法的模块化方案,很多算法模型直接就能用。

Keras

keras是一个最低限度的、模块化的神经网络库,可以使用Theano或TensorFlow作为后端。Keras最主要的用户体验是,从构思到产生结果将会是一个非常迅速的过程。在Keras中架构网络设计是十分轻松自然的。它包括一些state-of-the-art中针对优化(Adam,RMSProp)、标准化(BatchNorm)和激活层(PReLU,ELU,LeakyReLU)最新的算法。Keras也非常注重卷积神经网络,这也是我十分需要的。无论它是有意还是无意的,我觉得从计算机视觉的角度来看这是非常有价值的。更重要的是,你既可以轻松地构建基于序列的网络(其中输入线性流经网络)又可以创建基于图形的网络(输入可以“跳过”某些层直接和后面对接)。这使得创建像GoogLeNet和SqueezeNet这样复杂的网络结构变得容易得多。我认为Keras唯一问题是它不支持多GPU环境中并行地训练网络。这可能会也可能不会成为你的大忌。如果我想尽快地训练网络,那么我可能会使用mxnet。但是如果我需要调整超参数,我就会用Keras设置四个独立的实验(分别在我的Titan X GPUs上运行)并评估结果。

总结

这几个库python中最常用的算是:TensorFlow、SciKit-learn、Theano、Keras,至于Caffe的话坑太多,自己斟酌吧,其中TensorFlow与Theano两个可任意选其一(因为它们是针对同一领域),剩下的由于在不同领域优势不一样,无法说哪家强,而且在实际使用当中经常存在Scikit-learn + (TensorFlow or Theano) + Keras三个库一起结合使用。这里列出几个有关深度学习相关的资料

python机器学习系列教程——深度学习框架比较TensorFlow、Theano、Caffe、SciKit-learn、Keras相关推荐

  1. 资源 | Intel发布AI免费系列课程3部曲:机器学习基础、深度学习基础以及TensorFlow基础

    翻译 | AI科技大本营(公众号ID:rgznai100) 校对 | 成龙 编辑 | 明明 Intel于近期发布了三门AI系列的免费课程,分别是关于机器学习基础.深度学习基础.TensorFlow基础 ...

  2. 深度学习入门笔记(十五):深度学习框架(TensorFlow和Pytorch之争)

    欢迎关注WX公众号:[程序员管小亮] 专栏--深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献. 2)本文仅供学术交流,非商用.所以每一部分具 ...

  3. 深度学习框架之TensorFlow

    目录 TensorFlow 2015年11月10日,Google宣布推出全新的机器学习开源工具TensorFlow.TensorFlow最初是由Google机器智能研究部门的Google Brain团 ...

  4. ArXiv最火深度学习框架:TensorFlow第一,PyTorch第二!|湾区人工智能

    一年不算短,但也不算长.一年时间,可以让Swift从11位跌倒13位,也可以让PyTorch从第4位飙升194%至第2位! PyTorch狂涨194%,逼近TensorFlow份额 UC伯克利RISE ...

  5. 史上最全深度学习环境配置教程---适用于各种深度学习框架---Pytorh TensorFlow Keras-等和各种python环境

    鉴于我之前学深度学习,图像处理的时候走了很多弯路踩了很多坑的情况(其实主要是最近不想学习,想水一期博客),决定出一期深度学习环境配置的教程,因为我之前配置opencv的环境,TensorFlow的环境 ...

  6. 深度学习框架之一:Theano | Lasagne简单教程

    北京 上海巡回站 | NVIDIA DLI深度学习培训 2018年1月26/1月12日 NVIDIA 深度学习学院 带你快速进入火热的DL领域 阅读全文                        ...

  7. 带你测试对比深度学习框架!TensorFlow,Keras,PyTorch...哪家强?(附数据集)

    授权自AI科技大本营(ID: rgznai100) 本文长度为3556字,建议阅读7分钟 亚马逊MXNet在CNN.RNN与NLP情感分析任务上性能强劲,而TensorFlow仅擅长于特征提取. 深度 ...

  8. 10分钟带你了解python_10分钟Python入门系列教程及学习资源分享

    本期分享笔记内容 归档此前入门教程文章,方便查看 10分钟带你Python入门的特点 简单谈下如何寻找Python学习资源 关于分享Python学习资源的分享问题 本人对于Python学习创建了一个小 ...

  9. 【深度学习框架】Tensorflow Session.run()函数的进一步理解

    在tensorflow中session.run()用来将数据传入计算图,计算并返回出给定变量/placeholder的结果. 在看论文代码的时候遇到一段复杂的feed_dict, 本文记录了对sess ...

最新文章

  1. 第一个程序 - Windows程序设计(SDK)001
  2. 星空[好题][题意转化]
  3. 第十五期:详解Java集合框架,让你全面掌握!
  4. 单进程gevent版-TCP服务器(python 版)
  5. 干货分享:vue2.0做移动端开发用到的相关插件和经验总结(2)
  6. 注册表屏蔽IE9更新
  7. 浪漫桃心的Android表白程序
  8. 如何使用优化算法手动拟合回归模型
  9. vue开发移动端h5使用 lib-flexible移动端适配
  10. 453.最小移动次数使数组元素相等
  11. vue实现关键字查询列表数据
  12. 中国民营500强企业爬取数据展示
  13. 一般java培训课程有哪些?
  14. PS一分钟打造手机渐变壁纸
  15. 手机vnc远程桌面,手机vnc远程桌面教程加配置说明
  16. 计算机网络————IP地址分类以及网络地址的计算
  17. 使用SSH协议搭建隧道(附搭建环境超详细)
  18. 绝地求生显示lsukn服务器,电脑中玩绝地求生出现Failed to initialize BattlEye Service:Generic Error怎么办...
  19. 在XShell中修改ip为静态ip
  20. 【Java多线程】Java线程状态及转换方法详解

热门文章

  1. 《解析深度学习:语音识别实践》.pdf
  2. 你怎么看当前中文语音识别技术在国内的应用?
  3. V-最大公约数 递归
  4. fiddler修改支付金额_Spring MVC+Spring+Mybatis实现支付宝支付功能(图文详解+代码
  5. mysql打开慢查询_MySQL 开启慢查询日志的方法
  6. java 线程 内部_从Java中的main()内部在线程实例上运行wait()
  7. 台式计算机华硕电源,美声大师+智能电源 华硕台式电脑M51AC
  8. nod找不到服务器,Nodejs服务器:无法加载资源:服务器响应状态为404(未找到)...
  9. PLSQL 缺少MSVCR120.dll
  10. 【代码源 Div1 - 101】#61. 二分答案(贪心)