随着 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
随着 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
你把事情搞混了:
tf.keras
( https://www.tensorflow.org/guide/keras ) 在 TensorFlow 中实现 Keras API 规范。此外,该tf.keras
API 已针对其他 TensorFlow 模块进行了优化:例如,您可以将tf.data
数据集传递.fit()
给模型的方法tf.keras
,或者将tf.keras
模型转换为 TensorFlow 估计器tf.keras.estimator.model_to_estimator
。目前,该tf.keras
API 是在 TensorFlow 中构建模型时要寻找的高级 API,未来将继续与其他 TensorFlow 功能集成。所以回答你的问题:不,你不需要将 Keras 代码转换为 tf.keras 代码。Keras 代码使用 Keras 库,甚至可能运行在与 TensorFlow 不同的后端之上,并且将来会继续正常工作。更重要的是,不要仅仅tf.keras
在同一个脚本中混合 Keras 和对象,因为这可能会产生不兼容,例如您可以在这个问题中看到。
更新:Keras 将被 tf.keras 抛弃:https ://twitter.com/fchollet/status/1174019423541157888