上QQ阅读APP看书,第一时间看更新
2.4 Keras还是tf.keras
另一个合理的问题是,你应该将Keras与TensorFlow一起用作后端,还是使用在TensorFlow中直接可用的tf.keras
中的API。注意,Keras与tf.keras
之间并没有1:1的对应关系。Keras并未实现tf.keras
中的许多端点,而tf.keras
不像Keras那样支持多个后端。那么,到底选择Keras还是tf.keras
?我的建议是后者。tf.keras
与Keras相比具有多个优点,包括本章中讨论的TensorFlow增强功能(即刻执行;对分布式训练的原生支持,包括基于TPU训练;以及对TensorFlow SavedModel交换格式的支持)。但是,如果你打算编写可在多个后端(包括Google TensorFlow、Microsoft CNTK、Amazon MXnet和Theano)上运行的高度可移植的代码,则推荐Keras。注意,Keras是一个独立的开源项目,其开发不依赖于TensorFlow。因此,Keras仍将在可预见的未来继续发展。注意,Keras 2.3.0(于2019年9月17日发布)是支持TensorFlow 2.0的多后端Keras的第1版。它保持与TensorFlow 1.14和1.13以及Theano和CNTK的兼容性。
让我们以新的比较结果来结束本章:Kaggle上每次竞赛的前5名团队使用的主流机器学习软件工具。图2-5是Francois Chollet于2019年4月初在Twitter上进行的一项调查(感谢Francois同意将其纳入本书!)。
图2-5 2019年Kaggle前5名团队使用的主流机器学习工具
本节中,我们已经看到了Keras和tf.keras
之间的主要区别。