Класс Sequential
Класс Sequential создает линейный стек слоев.
Первым параметром можно передать список слоев,
которые будут добавлены в модель при создании.
Вторым параметром можно передать имя модели.
Если слои не переданы, их можно добавить позже
с помощью метода add.
Синтаксис
tf.keras.Sequential(layers=None, name=None)
Пример
Давайте создадим пустую последовательную модель и добавим в нее два полносвязных слоя:
import tensorflow as tf
model = tf.keras.Sequential(name='model.keras')
model.add(tf.keras.layers.Dense(4, input_shape=(3,)))
model.add(tf.keras.layers.Dense(2))
print(model)
Результат выполнения кода:
"<Sequential name=model.keras, built=False>"
Пример
Давайте создадим модель, передав список слоев прямо в конструктор:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(4, input_shape=(3,)),
tf.keras.layers.Dense(2)
])
print(model.layers)
Результат выполнения кода:
[<Dense name=dense, built=True>, <Dense name=dense_1, built=True>]
Пример
Давайте обучим последовательную модель на простых данных и получим предсказание:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(4, activation='relu', input_shape=(3,)),
tf.keras.layers.Dense(1)
])
model.compile(optimizer='adam', loss='mse')
x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
y = tf.constant([[1.0], [2.0]])
model.fit(x, y, epochs=2, verbose=0)
res = model.predict(x)
print(res)
Результат выполнения кода:
[[1.0]
[2.0]]