【问题标题】:Does the Keras implementation in TF2 support everything native Keras can do with TF1?TF2 中的 Keras 实现是否支持原生 Keras 对 TF1 所做的一切?
【发布时间】:2019-09-05 08:17:28
【问题描述】:
我们正在使用基于 TensorFlow 1.x 的 Keras。但现在 TF 2.0 即将推出,我们正在考虑切换到该更新,使用 TF 2.0 中内置的 Keras API 实现。
但在我们这样做之前,我想问你们:你们知道 TF 2.0 中的 Keras 实现是否支持原生 Keras 在 TF 1.0 中所做的一切,还是缺少任何功能?
此外,我能否将我的 Keras 代码 1:1 与 Keras API 的新 TF 2.0 实现一起使用,或者我们是否需要重写部分现有 Keras 代码?
【问题讨论】:
标签:
python
tensorflow
keras
tf.keras
【解决方案1】:
如果你想使用 TensorFlow,那么我强烈建议你切换并使用 Keras 的 TensorFlow 实现(即tf.keras),因为它会支持更多的 TF 功能,并且比原生 Keras 更高效和优化.
实际上,Keras 的维护者在几天前发布了 Keras 的新版本(2.2.5)(经过 10 多个月没有新版本发布!),他们还建议使用tf.keras。这里是release notes:
Keras 2.2.5 是实现 2.2.* API 的最后一个 Keras 版本。这是最后一个仅支持 TensorFlow 1(以及 Theano 和 CNTK)的版本。
下一个版本将是 2.3.0,它对 API 进行了重大更改并添加了对 TensorFlow 2.0 的支持。 2.3.0 版本将是多后端 Keras 的最后一个主要版本。多后端 Keras 被 tf.keras 取代。
此时,我们建议在 TensorFlow 2.0 中使用多后端 Keras 和 TensorFlow 后端的 Keras 用户切换到 tf.keras。 tf.keras 维护得更好,并且与 TensorFlow 功能更好地集成。
这:“多后端 Keras 已被 tf.keras 取代”是一个强有力的指标,表明最好切换到 tf.keras,尤其是如果您仍处于项目的开始阶段。