Перейти к содержанию

Визуализация

Визуализация модели

Keras предоставляет утилитные функции для построения модели Keras (с помощью graphviz).

При этом будет построен график модели и сохранен в файле:

from keras.utils import plot_model

plot_model(model, to_file=’model.png’)

plot_model принимает 4 опциональных аргументы:

  • show_shapes (по умолчанию False) контролирует, отображаются ли выходные формы на графике.
  • show_layer_names (по умолчанию — True) контролирует, отображаются ли имена слоев на графике.
  • expand_nested (по умолчанию False) контролирует, нужно ли разворачивать вложенные модели на кластеры на графике.
  • dpi (по умолчанию 96) управляет изображением dpi.

Вы также можете напрямую получить объект pydot.Graph и отрисовать его самостоятельно, например, чтобы показать его в ipython ноутбуке :

from IPython.display import SVGfrom keras.utils import model_to_dot

SVG(model_to_dot(model).create(prog=’dot’, format=’svg’))

Визуализация истории обучения

Метод fit() на модели Keras возвращает объект истории. Атрибут History.history представляет собой словарь, в котором записываются обучающие значения потерь и значения метрик в последующие эпохи, а также значения потерь при проверке и значения метрик проверки (если применимо). Вот простой пример использования matplotlib для генерации графиков потерь и точности для обучения и валидации:

import matplotlib.pyplot as plt

history = model.fit(x, y, validation_split=0.25, epochs=50, batch_size=16, verbose=1)

# Обучение и проверка точности значений

plt.plot(history.history[‘acc’])

plt.plot(history.history[‘val_acc’])

plt.title(‘Model accuracy’)

plt.ylabel(‘Accuracy’)

plt.xlabel(‘Epoch’)

plt.legend([‘Train’, ‘Test’], loc=’upper left’)

plt.show()

# Обучение и проверка величины потерь

plt.plot(history.history[‘loss’])

plt.plot(history.history[‘val_loss’])

plt.title(‘Model loss’)

plt.ylabel(‘Loss’)

plt.xlabel(‘Epoch’)

plt.legend([‘Train’, ‘Test’], loc=’upper left’)

plt.show()