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

时间:2018-02-20 20:16:54

标签: python tensorflow pip deep-learning keras

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

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

我认为除了简单地保存一个pip install步骤并编写tensorflow.python.keras而不是keras之外,还有更多不同之处。

2 个答案:

答案 0 :(得分:23)

tensorflow.python.keras只是一组keras,在tensorflow包内有一个后端。这允许您通过仅安装pip install tensorflow来开始使用keras。

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

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

答案 1 :(得分:4)

2019-10的小更新:

Keras团队通过release of version 2.3.0宣布了以下内容:

  

这也是多后端Keras的最后一个主要版本。展望未来,我们建议用户考虑在TensorFlow 2.0中将其Keras代码切换为tf.keras。它实现了相同的Keras 2.3.0 API(因此切换应该像更改Keras导入语句一样容易),但是它对TensorFlow用户具有许多优势,例如对急切执行,分发,TPU培训的支持以及通常更好的集成在低层TensorFlow和高层概念(如“层”和“模型”)之间。也可以更好地维护它。

     

发展将集中在tf.keras上。在接下来的6个月中,我们将继续维护多后端Keras,但我们只会合并错误修复程序。 API更改将不会被移植。

因此,到目前为止,tf.keras似乎是可行的方式。