很多人会说,keras模型和tf.keras模型我到底选择那个模型呢?好纠结啊,但是,真的需要纠结吗?就像两个不同大美女在你面前叫你选择,你做如何选择呢?手动滑稽。>(个_个)<
以下总结了tf.keras
模型的三种构建方式
1. 首先,最常用的就是使用tf.keras.Sequential
按层顺序构建模型
代码示例:
或者使用以下方式
那么这种构建方式适用于什么场合呢?以及它的缺点呢?
(1)适用场合
对于顺序结构的模型(没有多个输入输出,也没有分支),优先使用Sequential方法构建。
(2)缺点
不能创建以下模型结构:
①共享层
②模型分支
③多个输入分支
④多个输出分支2. Keras函数式API创建模型
代码示例:
适用场合:如果模型有多输入或者多输出,或者模型需要共享权重,或者模型具有分支连接、循环连接等非顺序结构,推荐使用函数式API进行创建。3. Keras Model Subclassing方式
代码示例:
构造tf.keras.Model
的子类来编写模型,需要覆写Model类中的__init__
方法和call
方法。
①__init__
方法中定义我们要使用的层,这里可以使用Keras自带的层;
②call
方法中实现模型的网络层。