Keras 2 API 文档 / 模型 API / Sequential 类

Sequential 类

[源代码]

Sequential

tf_keras.Sequential(layers=None, name=None)

Sequential 将层线性堆叠到一个 tf.keras.Model 中。

Sequential 为此模型提供了训练和推理功能。

示例

model = tf.keras.Sequential()
model.add(tf.keras.Input(shape=(16,)))
model.add(tf.keras.layers.Dense(8))

# Note that you can also omit the initial `Input`.
# In that case the model doesn't have any weights until the first call
# to a training/evaluation method (since it isn't yet built):
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(8))
model.add(tf.keras.layers.Dense(4))
# model.weights not created yet

# Whereas if you specify an `Input`, the model gets built
# continuously as you are adding layers:
model = tf.keras.Sequential()
model.add(tf.keras.Input(shape=(16,)))
model.add(tf.keras.layers.Dense(4))
len(model.weights)
# Returns "2"

# When using the delayed-build pattern (no input shape specified), you can
# choose to manually build your model by calling
# `build(batch_input_shape)`:
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(8))
model.add(tf.keras.layers.Dense(4))
model.build((None, 16))
len(model.weights)
# Returns "4"

# Note that when using the delayed-build pattern (no input shape specified),
# the model gets built the first time you call `fit`, `eval`, or `predict`,
# or the first time you call the model on some input data.
model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(8))
model.add(tf.keras.layers.Dense(1))
model.compile(optimizer='sgd', loss='mse')
# This builds the model for the first time:
model.fit(x, y, batch_size=32, epochs=10)

[源代码]

add 方法

Sequential.add(layer)

在层堆栈的顶部添加一个层实例。

参数

  • layer: 层实例。

引发异常

  • TypeError: 如果 layer 不是层实例。
  • ValueError: 如果 layer 参数不知道其输入形状。
  • ValueError: 如果 layer 参数具有多个输出张量,或者已连接到其他地方(在 Sequential 模型中禁止)。

[源代码]

pop 方法

Sequential.pop()

移除模型中的最后一层。

引发异常

  • TypeError: 如果模型中没有层。