keras与tensorflow.python.keras - 使用哪一个?

Tob*_*ann 26 python pip deep-learning keras tensorflow

哪一种是使用Keras的推荐(或更具前瞻性的)方式?

每个的优点/缺点是什么?

我想有更多的区别,而不仅仅是保存pip install一步而tensorflow.python.keras不是写keras.

Max*_*xim 34

tensorflow.python.keras只是一个包含单个后端内部tensorflow包的keras .这允许您通过安装刚开始使用keras pip install tensorflow.

keras包含完整的keras库,有三个支持的后端:tensorflow,theano和CNTK.如果您甚至希望在后端之间切换,则应选择keras包.这种方法也更灵活,因为它允许独立于tensorflow安装keras更新(例如,因为下一版本可能需要不同版本的CUDA驱动程序,因此可能不容易更新),反之亦然.出于这个原因,我更喜欢安装keras另一个包.

就API而言,目前没有任何区别,但keras可能会在未来更紧密地集成到tensorflow中.所以在keras中有可能只有tensorflow功能,但即使在这种情况下它也不是使用keras包的阻塞.


Tob*_*ann 7

2019-10小更新:

随着2.3.0 版本发布,Keras团队宣布了以下内容:

这也是多后端 Keras 的最后一个主要版本。展望未来,我们建议用户考虑将他们的 Keras 代码切换到 TensorFlow 2.0 中的 tf.keras。它实现了与 Keras 2.3.0 相同的 API(因此切换应该像更改 Keras 导入语句一样简单),但它对 TensorFlow 用户具有许多优势,例如支持 Eager Execution、分发、TPU 训练,以及通常更好的集成低级 TensorFlow 和高级概念(如层和模型)之间的关系。它也得到了更好的维护。

未来的开发将专注于 tf.keras。我们将在接下来的 6 个月内继续维护多后端 Keras,但我们只会合并错误修复。不会移植 API 更改。

所以现在,tf.keras似乎是要走的路。