Keras和tf.keras之间的区别:应该改变旧的Keras代码吗?

jas*_*son 7 keras tensorflow tf.keras

随着Keras成为tensorflow的API,有很多旧版本的Keras代码

例如:https://github.com/keiserlab/keras-neural-graph-fingerprint/blob/master/examples.py

from keras import models
Run Code Online (Sandbox Code Playgroud)

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

from tensorflow.keras import models
Run Code Online (Sandbox Code Playgroud)

谢谢

sdc*_*cbr 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()的方法,或者使用. 目前,该API 是在 TensorFlow 中构建模型时需要寻找的高级 API,并且未来将继续与其他 TensorFlow 功能集成。tf.kerastf.kerastf.keras.estimator.model_to_estimatortf.keras

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

更新:Keras 将被放弃,转而使用 tf.keras:https://twitter.com/fchollet/status/1174019423541157888