使用Keras的推荐(或更具前瞻性)方法是哪一种?
每个的优点/缺点是什么?
我认为除了简单地保存一个pip install
步骤并编写tensorflow.python.keras
而不是keras
之外,还有更多不同之处。
答案 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
似乎是可行的方式。