Метод compile класса Sequential
Метод compile класса Sequential подготавливает модель к обучению. Первым параметром передается оптимизатор, который определяет способ обновления весов. Вторым параметром задается функция потерь, измеряющая ошибку модели. Третьим параметром указывается список метрик для оценки качества обучения.
Синтаксис
model.compile(optimizer, loss, [metrics])
Пример
Давайте создадим простую модель и настроим ее для обучения:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(5,)),
tf.keras.layers.Dense(1)
])
model.compile(
optimizer='adam',
loss='mse',
metrics=['mae']
)
print("Model compiled successfully")
Результат выполнения кода:
"Model compiled successfully"
Пример
Давайте настроим модель с кастомным оптимизатором и функцией потерь:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(10, activation='relu', input_shape=(5,)),
tf.keras.layers.Dense(1)
])
optimizer = tf.keras.optimizers.SGD(learning_rate=0.01)
loss_fn = tf.keras.losses.MeanSquaredError()
model.compile(
optimizer=optimizer,
loss=loss_fn,
metrics=['accuracy']
)
print("Model compiled with custom optimizer")
Результат выполнения кода:
"Model compiled with custom optimizer"
Пример
Давайте обучим модель после компиляции и проверим работу метода:
import tensorflow as tf
import numpy as np
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,))
])
model.compile(
optimizer='sgd',
loss='mse'
)
x = np.array([[1], [2], [3], [4], [5]], dtype=np.float32)
y = np.array([[2], [4], [6], [8], [10]], dtype=np.float32)
history = model.fit(x, y, epochs=100, verbose=0)
res = model.predict(np.array([[6]], dtype=np.float32))
print(res)
Результат выполнения кода:
[[12.000012]]
Смотрите также
-
класс
Sequential,
который создает линейный стек слоев -
метод
fit,
который обучает модель на данных -
метод
predict,
который выполняет предсказания модели -
метод
summary,
который выводит архитектуру модели