2017 年中,Keras 已经被大规模采用,并与 TensorFlow 集成在一起。这种 TensorFlow + Keras 的组合让你可以:
1、使用 Keras 的接口定义模型;
2、如果你需要特定的 TensorFlow 功能或者需要实现 Keras 不支持但 TensorFlow 支持的自定义功能,可以回到 TensorFlow。
简单地说,你可以将 TensorFlow 代码直接插入到 Keras 的模型或训练管道中!
我们将使用标准的 keras 模块以及 TensorFlow 的 tf.keras 模块实现一个卷积神经网络(CNN)。
我们将在一个样本数据集上训练 CNN,然后检查结果——你会发现,Keras 和 TensorFlow 可以很融洽地合作。
TensorFlow 宣布将 Keras 集成到官方 TensorFlow 版本中已经一年多时间了。可以通过 tf.keras 子模块访问 Keras。
更重要的是,Keras + TensorFlow 的集成是无缝的,你可以直接将 TensorFlow 代码放到 Keras 模型中。
在 TensorFlow 中使用 Keras 将为你带来两全其美的好处:
你可以使用 Keras 提供的简单直观的 API 来创建模型;
Keras API 与 scikit-learn(被认为是机器学习 API 的“黄金标准”)很像;
Keras API 采用了模块化,易于使用;
当你需要自定义实现或者更复杂的损失函数时,可以直接进入 TensorFlow,并让代码自动与 Keras 模型集成。