8

随着 Keras 成为 TensorFlow 的 API,有很多旧版本的 Keras 代码,例如https://github.com/keiserlab/keras-neural-graph-fingerprint/blob/master/examples.py

from keras import models

使用当前版本的 TensorFlow,我们是否需要将每个 Keras 代码更改为?

from tensorflow.keras import models
4

1 回答 1

5

你把事情搞混了:

  • Keras ( https://keras.io/ ) 是一个独立于 TensorFlow 的库,它指定了一个用于构建和训练神经网络的高级 API,并且能够使用多个后端之一(其中 TensorFlow)用于低级张量计算。
  • tf.keras( https://www.tensorflow.org/guide/keras ) 在 TensorFlow 中实现 Keras API 规范。此外,该tf.kerasAPI 已针对其他 TensorFlow 模块进行了优化:例如,您可以将tf.data数据集传递.fit()给模型的方法tf.keras,或者将tf.keras模型转换为 TensorFlow 估计器tf.keras.estimator.model_to_estimator。目前,该tf.kerasAPI 是在 TensorFlow 中构建模型时要寻找的高级 API,未来将继续与其他 TensorFlow 功能集成。

所以回答你的问题:不,你不需要将 Keras 代码转换为 tf.keras 代码。Keras 代码使用 Keras 库,甚至可能运行在与 TensorFlow 不同的后端之上,并且将来会继续正常工作。更重要的是,不要仅仅tf.keras在同一个脚本中混合 Keras 和对象,因为这可能会产生不兼容,例如您可以在这个问题中看到。

更新:Keras 将被 tf.keras 抛弃:https ://twitter.com/fchollet/status/1174019423541157888

于 2019-01-09T20:22:22.687 回答