Keras 与 tf.keras

数据挖掘 Python 深度学习 喀拉斯 张量流
2021-10-10 22:20:45

在为我的新研究项目选择Keras (keras-team/keras) 和tf.keras (tensorflow/tensorflow/python/keras/) 时,我有点困惑。

有争论认为Keras不属于任何人,因此人们更乐意参与其中,并且将来管理该项目会容易得多。

另一方面, tf.keras归谷歌所有,因此测试和维护更加严格。此外,这似乎是利用 Tensorflow v.2 中出现的新功能的更好选择。

那么,开始一个数据科学(机器学习)项目(研究阶段),一开始都可以,你选择哪一个?!

2个回答

来自Keras回购:

Keras 是一个高级神经网络 API,用 Python 编写,能够在 TensorFlow、CNTK 或 Theano 之上运行。

在安装 Keras 之前,请安装其后端引擎之一:TensorFlow、Theano 或 CNTK。我们推荐使用 TensorFlow 后端。

所以 Keras 是一个皮肤(一个 API)。TensorFlow 已决定将这个皮肤包含在自身内部,作为tf.keras. 由于 Keras 提供了 TensorFlow 已经实现的 API(除非 CNTK 和 Theano 超越 TensorFlow,这不太可能),tf.keras因此在 API 多样性方面会跟上 Keras。因此,我建议使用tf.keraswhich 让您只参与一个更高质量的回购。而不是两个,这意味着更少的头痛。

你选哪一个?!

tf.keras‬.

François Chollet 的这条推文建议使用tf.keras

我们建议您将 Keras 代码切换到 tf.keras。

Theano 和 CNTK 都没有开发。同时,作为 Keras 后端,它们仅占 Keras 使用量的不到 4%。其他 96% 的用户(其中​​一半以上已经在 tf.keras 上)使用 tf.keras 得到了更好的服务。

Keras 的开发将集中在 tf.keras 上。

重要的是,我们将寻求在 keras-team/keras 自己的独立 GitHub 存储库中开始开发 tf.keras,以使第 3 方人员更容易做出贡献。

Keras 的发展速度从未像现在这样快