Класс History
Класс History представляет собой объект, который возвращается методом fit модели TensorFlow. Он содержит записи о значениях функции потерь и метрик, вычисленных на обучающей и валидационной выборках в конце каждой эпохи. Объект History имеет атрибут history, который является словарём, где ключами служат названия метрик, а значениями - списки чисел, соответствующие эпохам. Также доступен атрибут epoch, содержащий список номеров эпох.
Синтаксис
history = model.fit(x, y, epochs, validation_data)
history.history
history.epoch
Пример
Давайте обучим простую модель и получим объект History, чтобы изучить его структуру:
import tensorflow as tf
tf.random.set_seed(0)
# Create a simple model
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,))
])
model.compile(optimizer='sgd', loss='mse')
# Train the model
x = tf.constant([[1.0], [2.0], [3.0], [4.0], [5.0]])
y = tf.constant([[2.0], [4.0], [6.0], [8.0], [10.0]])
history = model.fit(x, y, epochs=3, verbose=0)
print(history.history)
Результат выполнения кода:
{'loss': [21.865535736083984, 5.777811050415039, 1.6891220808029175]}
Пример
Давайте выведем список эпох и значения потерь по отдельности, используя атрибуты epoch и history:
import tensorflow as tf
tf.random.set_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(1, input_shape=(1,))
])
model.compile(optimizer='sgd', loss='mse')
x = tf.constant([[1.0], [2.0], [3.0], [4.0], [5.0]])
y = tf.constant([[2.0], [4.0], [6.0], [8.0], [10.0]])
history = model.fit(x, y, epochs=3, verbose=0)
print("Epochs:", history.epoch)
print("Loss:", history.history['loss'])
Результат выполнения кода:
Epochs: [0, 1, 2]
Loss: [21.865535736083984, 5.777811050415039, 1.6891220808029175]
Смотрите также
-
класс
EarlyStopping,
который останавливает обучение при отсутствии улучшений -
класс
ModelCheckpoint,
который сохраняет модель во время обучения -
класс
ReduceLROnPlateau,
который уменьшает скорость обучения при остановке метрики -
класс
CSVLogger,
который сохраняет историю обучения в CSV-файл