На этом шаге мы рассмотрим использование TensorBoard.
Для проведения результативных исследований или разработки качественных моделей необходимо иметь разностороннюю, часто обновляющуюся информацию о происходящем внутри модели в ходе экспериментов. В этом суть экспериментов - получить информацию (как можно больше информации) о том, насколько хорошо работает модель. Движение вперед носит итеративный, или циклический, характер. Вы начинаете с идеи и разрабатываете план эксперимента, который подтвердит или опровергнет ее. Далее вы запускаете эксперимент и обрабатываете полученную информацию. Это дает толчок к рождению новой идеи. И чем больше итераций в данном цикле вы выполните, тем совершеннее и мощнее будут становиться ваши идеи. Keras поможет вам перейти от идеи к эксперименту в кратчайшие сроки, а с помощью GPU вы получите результаты эксперимента достаточно быстро. Но как быть с обработкой результатов? Здесь вам пригодится TensorBoard (рисунок 1).
Рис.1. Циклическое движение вперед
TensorBoard (https://www.tensorflow.org/tensorboard) - браузерное приложение, которое можно запускать локально. Это лучший способ наблюдения за происходящим внутри модели во время обучения. TensorBoard позволяет:
Самый простой способ использовать TensorBoard с моделью Keras и методом fit() - определить обратный вызов keras.callbacks.TensorBoard.
В простейшем случае достаточно указать, куда должна записываться информация этим обратным вызовом, и все:
model = get_mnist_model() model.compile(optimizer="rmsprop", loss="sparse_categorical_crossentropy", metrics=["accuracy"]) tensorboard = keras.callbacks.TensorBoard( log_dir="/full_path_to_your_log_dir", ) model.fit(train_images, train_labels, epochs=10, validation_data=(val_images, val_labels), callbacks=[tensorboard])
С началом обучения модель будет записывать информацию в указанное местоположение. Если обучение выполняется на локальном компьютере, то вы можете запустить локальный сервер TensorBoard следующей командой (обратите внимание, что выполняемый файл tensorboard уже должен быть доступен, если библиотека TensorFlow устанавливалась с помощью pip; если нет, можно установить TensorBoard вручную командой pip install tensorboard):
tensorboard --logdir /full_path_to_your_log_dir
Данная команда выведет URL, который затем можно ввести в адресную строку браузера, чтобы получить доступ к интерфейсу TensorBoard.
Если обучение производится в блокноте Colab, то можно запустить встроенный экземпляр TensorBoard в блокноте, выполнив следующую команду:
%load_ext tensorboard %tensorboard --logdir /full_path_to_your_log_dir
В интерфейсе TensorBoard можно наблюдать в режиме реального времени, как протекает процесс обучения модели (рисунок 2).
Рис.2. С помощью TensorBoard можно наблюдать, как продвигается обучение и изменяются значения метрик
На следующем шаге мы рассмотрим разработку своего цикла обучения и оценки.