【问题标题】:What is the difference between keras and tf.keras?keras 和 tf.keras 有什么区别?
【发布时间】:2020-08-21 14:29:48
【问题描述】:

我正在学习 TensorFlow 和 Keras。我想试试https://www.amazon.com/Deep-Learning-Python-Francois-Chollet/dp/1617294438/,好像是用Keras写的。

将代码转换为tf.keras 是否相当简单?

我对代码的可移植性并不感兴趣,而不是两者之间的真正区别。

【问题讨论】:

标签: tensorflow keras difference tf.keras


【解决方案1】:

tf.keras 和 keras 的区别在于框架的 Tensorflow 特定增强。

keras 是一个 API 规范,描述了深度学习框架应该如何实现与模型定义和训练相关的某些部分。 与框架无关并支持不同的后端(Theano、Tensorflow、...)

tf.keras 是 Keras API 规范的 Tensorflow 特定实现。它为框架添加了对许多 Tensorflow 特定功能的支持,例如:完美支持 tf.data.Dataset 作为输入对象,支持急切执行,...

在 Tensorflow 2.0 中,tf.keras 将是默认设置,我强烈建议您开始使用tf.keras

【讨论】:

【解决方案2】:

在这一点上,tensorflow 几乎完全采用了 keras API,这是有充分理由的 - 它简单、易于使用且易于学习,而“纯” tensorflow 带有大量样板代码。是的,您可以毫无问题地使用 tf.keras,尽管您可能需要重新处理代码中的导入。比如

from keras.layers.pooling import MaxPooling2D

会变成:

from tensorflow.keras.layers import MaxPooling2D

【讨论】:

  • 那么,对于大多数代码,我需要做的唯一更改就是导入语句吗? (好吧,我想可能会有例外)
  • 总的来说是的,除非你已经导入了整个库并且必须检查代码并找出你在哪里使用过的东西(这对于现代 IDE 来说仍然不是什么大问题)。
【解决方案3】:

Keras 与 tf.keras 的历史漫长而曲折。

Keras:Keras 是一个高级(易于使用)API,由 Google AI 开发人员/研究人员 Francois Chollet 构建。用 Python 编写,能够在 TensorFlow、CNTK 或 Theano 等后端引擎上运行。

TensorFlow:同样由 Google 为深度学习开发者社区开发的库,用于使深度学习应用程序可供公众访问和使用。开源并在 GitHub 上提供。

随着 Keras v1.1.0 的发布,Tensorflow 成为默认的后端引擎。这意味着:如果您在系统上安装了 Keras,那么您也在安装 TensorFlow。

后来,随着 TensorFlow v1.10.0,tf.keras 子模块首次被引入到 Tensorflow 中。 在 TensorFlow 中集成 Keras 的第一步

随着 Keras 2.3.0 的发布,

  • 与 tf.keras 同步的 Keras 的第一个版本
  • 支持其他多后端引擎的最新主要版本
  • 最重要的是,今后,建议将代码从 keras 切换到 Tensorflow2.0 和 tf.keras 包。

请参考 François Chollet 的 this 推文以使用 tf.keras。

也就是说, 无处不在的变化

来自

from keras.models import Sequential
from keras.models import load_model

from tensorflow.keras.models import Sequential
from tensorflow.keras.models import load_model

并且在 requirements.txt 中,

tensorflow==2.3.0

*免责声明:如果您使用的是旧版本的 Keras,它可能会产生冲突。在这种情况下做pip uninstall keras

【讨论】:

    猜你喜欢
    • 2017-10-19
    • 1970-01-01
    • 2020-02-05
    • 1970-01-01
    • 2020-03-16
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    相关资源
    最近更新 更多