Javatpoint标志
Javatpoint标志

Keras教程

Keras教程

Keras是一个开源的高级神经网络库,它是用Python编写的,能够在Theano、TensorFlow或CNTK上运行。它是由谷歌的一位工程师弗朗索瓦·夏勒特开发的。它是用户友好的,可扩展的,模块化的,以促进更快的实验与深度神经网络。它不仅单独支持卷积网络和循环网络,而且还支持它们的组合。

它不能处理低级的计算,因此它使用后端库来解决它。后端库充当低级API的高级API包装器,允许它在TensorFlow、CNTK或Theano上运行。

最初,它在发布时有超过4800名贡献者,现在已经增加到25万名开发者。从那以后,它每年都以2倍的速度增长。像微软、谷歌、NVIDIA和亚马逊这样的大公司都积极地为Keras的开发做出了贡献。它有一个惊人的行业互动,它被用于流行公司的发展,如Netflix, Uber,谷歌,Expedia等。

是什么让Keras如此特别?

  • 对用户体验的关注一直是Keras的重要组成部分。
  • 行业内的广泛采用。
  • 它是一个多后端,支持多平台,这有助于所有编码器一起编码。
  • Keras的研究社区与生产社区的合作令人惊叹。
  • 容易掌握所有概念。
  • 它支持快速原型。
  • 它可以无缝地在CPU和GPU上运行。
  • 它提供了设计任何体系结构的自由,然后将其用作项目的API。
  • 这是非常简单的开始。
  • 简单的模型制作实际上使Keras变得特别。

Keras用户体验

  1. Keras是为人类设计的API
    Keras遵循最佳实践,以减少认知负荷,确保模型一致,并且相应的api简单。
  2. 不是为机器设计的
    对于大多数常见用例,Keras在任何错误发生时都提供了明确的反馈,从而减少了用户操作的数量。
  3. 易于学习和使用。
  4. 高度灵活的
    通过集成诸如TensorFlow或Theano等底层深度学习语言,Keras为所有开发人员提供了高度的灵活性,这确保了用基础语言编写的任何东西都可以在Keras中实现。

Keras是如何支持多后端、多平台的?

Keras可以用R开发,也可以用Python开发,这样代码就可以根据需求使用TensorFlow、Theano、CNTK或MXNet运行。Keras可以在CPU, NVIDIA GPU, AMD GPU, TPU等上运行。它确保使用Keras生产模型是非常简单的,因为它完全支持运行TensorFlow服务,GPU加速(WebKeras, Keras.js), Android (TF, TF Lite), iOS (Native CoreML)和树莓派。

Keras后端

作为一个模型级库,Keras通过提供高级构建块来帮助开发深度学习模型。所有的底层计算,如张量的乘积、卷积等,都不是由Keras自己处理的,而是依赖于一个专门的张量操作库,该库经过了很好的优化,可以作为后端引擎。Keras很好地处理了这个问题,而不是合并一个单一的张量库并执行与该张量库相关的操作,而是将不同的后端引擎插入Keras。

Keras由三个后端引擎组成,分别是:

  • TensorFlow
    TensorFlow是谷歌产品,是机器学习和深度神经网络研究领域最著名的深度学习工具之一。它是9号上市的th2015年11月Apache License 2.0。它的构建方式使得它可以轻松地在多个cpu和gpu以及移动操作系统上运行。它由不同语言(如Java、c++或Python)中的各种包装器组成。
    Keras教程
  • Theano
    Theano是由MILA小组在加拿大魁北克的蒙特利尔大学开发的。它是一个开源的python库,通过合并scipy和numpy被广泛用于在多维数组上执行数学运算。它利用gpu进行更快的计算,并通过自动构建符号图有效地计算梯度。它非常适用于不稳定表达式,因为它首先用数值方法观察它们,然后用更稳定的算法计算它们。
    Keras教程
  • CNTK
    Microsoft Cognitive Toolkit是深度学习的开源框架。它包含了构成神经网络所需的所有基本构建模块。模型是用c++或Python训练的,但它合并了c#或Java来加载模型进行预测。
    Keras教程

Keras的优点

Keras包含以下优点:

  • 它非常容易理解,并且可以合并更快的网络模型部署。
  • 它在市场上拥有巨大的社区支持,因为大多数人工智能公司都热衷于使用它。
  • 它支持多后端,这意味着您可以根据您的需求在TensorFlow、CNTK和Theano中使用任意一种,Keras作为后端。
  • 由于它易于部署,所以它还支持跨平台。以下是可以部署Keras的设备:
    1. iOS和CoreML
    2. Android与TensorFlow Android
    3. 支持.js的Web浏览器
    4. 云引擎
    5. 覆盆子π
  • 它支持数据并行,这意味着Keras可以在一个实例上在多个GPU上进行训练,从而加快训练时间,处理大量数据。

缺点Keras

  • 唯一的缺点是Keras有自己的预配置层,如果您想创建抽象层,它不会允许您这样做,因为它无法处理低级api。它只支持在后端引擎(TensorFlow、Theano和CNTK)之上运行的高级API。

先决条件

本Keras教程针对初学者和专业人士,帮助他们理解Keras的基本概念。在完成本教程之后,您将发现自己处于一个中等水平的专业知识,从那里您可以将自己带到下一个级别。

观众

由于Keras是一个深度学习的高级库,因此您需要拥有实际操作的Python语言以及神经网络的基本知识。

问题

我们向您保证,在本教程中您不会发现任何困难。如果您有疑问,或者在本教程中发现了任何错误,请通过在联系表单中发帖让我们知道,以便我们进一步改进。







Youtube 观看视频请加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新的教程


准备


热门的技术


B.Tech / MCA






Baidu
map