Spec-Zone.ru › TensorFlow

tf.keras.callbacks.TensorBoard

Включает визуализации для TensorBoard.

Наследует от: Callback

tf.keras.callbacks.TensorBoard(
    log_dir='logs',
    histogram_freq=0,
    write_graph=True,
    write_images=False,
    write_steps_per_second=False,
    update_freq='epoch',
    profile_batch=0,
    embeddings_freq=0,
    embeddings_metadata=None
)

Используется в блокнотах

Используется в руководстве Используется в учебных пособиях
  • Перенос TensorBoard: инструментарий визуализации TensorFlow
  • Распределённое обучение с Keras
  • Обучение с сервером параметров и ParameterServerStrategy
  • Перенос обучения с TensorFlow Hub
  • Переобучение и недообучение
  • Скалярные данные TensorBoard: регистрация метрик обучения в Keras

TensorBoard — это инструмент визуализации, предоставляемый вместе с TensorFlow. Для использования этого обратного вызова необходимо установить TensorFlow.

Этот обратный вызов регистрирует события для TensorBoard, в том числе:

  • Сводные графики метрик
  • Визуализация графа обучения
  • Гистограммы весов
  • Выборочное профилирование

При использовании в model.evaluate() или при обычной проверке, наряду со сводками по эпохам, будет записываться сводка, содержащая метрики оценки относительно model.optimizer.iterations. К именам метрик будет добавлен префикс evaluation, где model.optimizer.iterations — это шаг, отображаемый в TensorBoard.

Если вы установили TensorFlow с помощью pip, запустить TensorBoard из командной строки можно следующим образом:

tensorboard --logdir=path_to_your_logs

Дополнительную информацию о TensorBoard можно найти здесь.

Аргументы
log_dir путь к каталогу, в котором нужно сохранять файлы журналов для обработки TensorBoard, например log_dir = os.path.join(working_dir, 'logs'). Этот каталог не следует использовать повторно для других обратных вызовов.
histogram_freq частота (в эпохах) вычисления гистограмм весов слоёв модели. Если задано значение 0, гистограммы вычисляться не будут. Для визуализации гистограмм необходимо указать проверочные данные (или разделение данных).
write_graph (В настоящее время не поддерживается) Определяет, нужно ли визуализировать граф в TensorBoard. Обратите внимание: файл журнала может стать очень большим, если write_graph задано значение True.
write_images определяет, нужно ли записывать веса модели для их визуализации в TensorBoard в виде изображений.
write_steps_per_second определяет, нужно ли регистрировать в TensorBoard количество шагов обучения в секунду. Поддерживается ведение журналов с частотой по эпохам и по пакетам.
update_freq "batch", "epoch" или целое число. При использовании "epoch" потери и метрики записываются в TensorBoard после каждой эпохи. Если используется целое число, например 1000, все метрики и потери (включая пользовательские, добавленные с помощью Model.compile) будут записываться в TensorBoard каждые 1000 пакетов. "batch" — синоним значения 1, то есть запись будет выполняться после каждого пакета. Обратите внимание: слишком частая запись в TensorBoard может замедлить обучение, особенно при использовании стратегий распределения, поскольку она приводит к дополнительным издержкам на синхронизацию. Запись сводок на уровне пакетов также доступна при переопределении train_step. Подробнее см. в руководстве по скалярным данным TensorBoard # noqa: E501.
profile_batch (В настоящее время не поддерживается) Выполняет профилирование пакета (пакетов) для сбора характеристик вычислений. profile_batch должен быть неотрицательным целым числом или кортежем целых чисел. Пара положительных целых чисел задаёт диапазон пакетов для профилирования. По умолчанию профилирование отключено.
embeddings_freq частота (в эпохах) визуализации слоёв встраивания. Если задано значение 0, встраивания визуализироваться не будут.
embeddings_metadata Словарь, сопоставляющий имена слоёв встраивания с именами файлов, в которых следует сохранять метаданные этих слоёв. Если для всех слоёв встраивания используется один и тот же файл метаданных, можно указать одно имя файла.

Примеры:

tensorboard_callback = keras.callbacks.TensorBoard(log_dir="./logs")
model.fit(x_train, y_train, epochs=2, callbacks=[tensorboard_callback])
# Then run the tensorboard command to view the visualizations.

Пользовательские сводки на уровне пакетов в модели с подклассом:

class MyModel(keras.Model):

    def build(self, _):
        self.dense = keras.layers.Dense(10)

    def call(self, x):
        outputs = self.dense(x)
        tf.summary.histogram('outputs', outputs)
        return outputs

model = MyModel()
model.compile('sgd', 'mse')

# Make sure to set `update_freq=N` to log a batch-level summary every N
# batches.  In addition to any `tf.summary` contained in `model.call()`,
# metrics added in `Model.compile` will be logged every N batches.
tb_callback = keras.callbacks.TensorBoard('./logs', update_freq=1)
model.fit(x_train, y_train, callbacks=[tb_callback])

Пользовательские сводки на уровне пакетов в модели с функциональным API:

def my_summary(x):
    tf.summary.histogram('x', x)
    return x

inputs = keras.Input(10)
x = keras.layers.Dense(10)(inputs)
outputs = keras.layers.Lambda(my_summary)(x)
model = keras.Model(inputs, outputs)
model.compile('sgd', 'mse')

# Make sure to set `update_freq=N` to log a batch-level summary every N
# batches. In addition to any `tf.summary` contained in `Model.call`,
# metrics added in `Model.compile` will be logged every N batches.
tb_callback = keras.callbacks.TensorBoard('./logs', update_freq=1)
model.fit(x_train, y_train, callbacks=[tb_callback])

Профилирование:

# Profile a single batch, e.g. the 5th batch.
tensorboard_callback = keras.callbacks.TensorBoard(
    log_dir='./logs', profile_batch=5)
model.fit(x_train, y_train, epochs=2, callbacks=[tensorboard_callback])

# Profile a range of batches, e.g. from 10 to 20.
tensorboard_callback = keras.callbacks.TensorBoard(
    log_dir='./logs', profile_batch=(10,20))
model.fit(x_train, y_train, epochs=2, callbacks=[tensorboard_callback])
Атрибуты
model
summary

Методы

on_batch_begin

Посмотреть исходный код

on_batch_begin(
    batch, logs=None
)

Псевдоним для обратной совместимости с on_train_batch_begin.

on_batch_end

Посмотреть исходный код

on_batch_end(
    batch, logs=None
)

Псевдоним для обратной совместимости с on_train_batch_end.

on_epoch_begin

Посмотреть исходный код

on_epoch_begin(
    epoch, logs=None
)

Вызывается в начале эпохи.

В подклассах следует переопределять этот метод для выполнения необходимых действий. Этот метод должен вызываться только в режиме TRAIN.

Аргументы
epoch Целое число, индекс эпохи.
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_epoch_end

Посмотреть исходный код

on_epoch_end(
    epoch, logs=None
)

В конце эпохи выполняет сводные вычисления метрик и гистограмм.

on_predict_batch_begin

Посмотреть исходный код

on_predict_batch_begin(
    batch, logs=None
)

Вызывается в начале пакета в методах predict.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Обратите внимание: если аргумент steps_per_execution метода compile в Model имеет значение N, этот метод будет вызываться только через каждые N пакетов.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_predict_batch_end

Посмотреть исходный код

on_predict_batch_end(
    batch, logs=None
)

Вызывается в конце пакета в методах predict.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Обратите внимание: если аргумент steps_per_execution метода compile в Model имеет значение N, этот метод будет вызываться только через каждые N пакетов.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. Результаты агрегированных метрик по этому пакету включительно.

on_predict_begin

Посмотреть исходный код

on_predict_begin(
    logs=None
)

Вызывается в начале предсказания.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Аргументы
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_predict_end

Посмотреть исходный код

on_predict_end(
    logs=None
)

Вызывается в конце предсказания.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Аргументы
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_test_batch_begin

Посмотреть исходный код

on_test_batch_begin(
    batch, logs=None
)

Вызывается в начале пакета в методах evaluate.

Также вызывается в начале проверочного пакета в методах fit, если предоставлены проверочные данные.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Обратите внимание: если аргумент steps_per_execution метода compile в Model имеет значение N, этот метод будет вызываться только через каждые N пакетов.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_test_batch_end

Посмотреть исходный код

on_test_batch_end(
    batch, logs=None
)

Вызывается в конце пакета в методах evaluate.

Также вызывается в конце проверочного пакета в методах fit, если предоставлены проверочные данные.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Обратите внимание: если аргумент steps_per_execution метода compile в Model имеет значение N, этот метод будет вызываться только через каждые N пакетов.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. Результаты агрегированных метрик по этому пакету включительно.

on_test_begin

Посмотреть исходный код

on_test_begin(
    logs=None
)

Вызывается в начале оценки или проверки.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Аргументы
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_test_end

Посмотреть исходный код

on_test_end(
    logs=None
)

Вызывается в конце оценки или проверки.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Аргументы
logs Словарь. В настоящее время этому аргументу данного метода передаётся результат последнего вызова on_test_batch_end(), но в будущем это может измениться.

on_train_batch_begin

Посмотреть исходный код

on_train_batch_begin(
    batch, logs=None
)

Вызывается в начале обучающего пакета в методах fit.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Обратите внимание: если аргумент steps_per_execution метода compile в Model имеет значение N, этот метод будет вызываться только через каждые N пакетов.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_train_batch_end

Посмотреть исходный код

on_train_batch_end(
    batch, logs=None
)

Вызывается в конце обучающего пакета в методах fit.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Обратите внимание: если аргумент steps_per_execution метода compile в Model имеет значение N, этот метод будет вызываться только через каждые N пакетов.

Аргументы
batch Целое число, индекс пакета в текущей эпохе.
logs Словарь. Результаты агрегированных метрик по этому пакету включительно.

on_train_begin

Посмотреть исходный код

on_train_begin(
    logs=None
)

Вызывается в начале обучения.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Аргументы
logs Словарь. В настоящее время этому аргументу данного метода не передаются данные, но в будущем это может измениться.

on_train_end

Посмотреть исходный код

on_train_end(
    logs=None
)

Вызывается в конце обучения.

В подклассах следует переопределять этот метод для выполнения необходимых действий.

Аргументы
logs Словарь. В настоящее время этому аргументу данного метода передаётся результат последнего вызова on_epoch_end(), но в будущем это может измениться.

set_model

Посмотреть исходный код

set_model(
    model
)

Задаёт модель Keras и при необходимости записывает граф.

set_params

Посмотреть исходный код

set_params(
    params
)

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/keras/callbacks/TensorBoard

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API