Spec-Zone.ru › TensorFlow 1.15

tf.train.ProfilerHook

Захватывает информацию о профилировании CPU/GPU каждые N шагов или секунд.

Наследуется от: SessionRunHook

Просмотр псевдонимов

Основные псевдонимы

tf.estimator.ProfilerHook

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.estimator.ProfilerHook, tf.compat.v1.train.ProfilerHook, `tf.compat.v2.estimator.ProfilerHook`

tf.train.ProfilerHook(
    save_steps=None, save_secs=None, output_dir='', show_dataflow=True,
    show_memory=False
)

Это создает файлы, называемые "timeline-<шаг>.json", которые имеют формат трассировки Chrome.

Для получения дополнительной информации см.: https://github.com/catapult-project/catapult/blob/master/tracing/README.md

Аргументы
save_steps int, сохранить трассировку профиля каждые N шагов. Должен быть установлен ровно один из save_secs и save_steps.
save_secs int или float, сохранить трассировку профиля каждые N секунд.
output_dir string, директория для сохранения трассировок профиля. По умолчанию используется текущая директория.
show_dataflow bool, если True, добавляет события потока в трассировку, соединяющие производителей и потребителей тензоров.
show_memory bool, если True, добавляет события снимка объектов в трассировку, отображающие размеры и жизненный цикл тензоров.

Методы

after_create_session

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

after_create_session(
    session, coord
)

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

Этот метод вызывается, чтобы уведомить хуки о создании новой сессии. Это имеет два ключевых отличия от ситуации, когда вызывается begin:

  • Когда вызывается этот метод, граф финализирован, и больше невозможно добавлять операции в граф.
  • Этот метод также будет вызван в результате восстановления обернутой сессии, а не только в начале всей сессии.
Аргументы
session Созданная сессия TensorFlow.
coord Объект координатора, который отслеживает все потоки.

after_run

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

after_run(
    run_context, run_values
)

Вызывается после каждого вызова run().

Аргумент run_values содержит результаты запрошенных операций/тензоров вызовом before_run().

Аргумент run_context — тот же, что и переданный в вызов before_run. Вызов run_context.request_stop() может быть использован для остановки итерации.

Если session.run() вызывает исключения, то after_run() не вызывается.

Аргументы
run_context Объект SessionRunContext.
run_values Объект SessionRunValues.

before_run

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

before_run(
    run_context
)

Вызывается перед каждым вызовом run().

Вы можете вернуть из этого вызова объект SessionRunArgs, указывающий на операции или тензоры для добавления к предстоящему вызову run(). Эти операции/тензоры будут выполнены вместе с операциями/тензорами, изначально переданными в исходный вызов run(). Аргументы run, которые вы возвращаете, также могут содержать значения для добавления в вызов run().

Аргумент run_context — это объект SessionRunContext, предоставляющий информацию о предстоящем вызове run(): первоначально запрошенные операции/тензоры, сессия TensorFlow.

На этом этапе граф финализирован, и вы не можете добавлять операции.

Аргументы
run_context Объект SessionRunContext.
Возвращаемое значение
None или объект SessionRunArgs.

begin

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

begin()

Вызывается один раз перед использованием сессии.

При вызове текущим графом является тот, который будет запущен в сессии. Хук может изменять граф, добавляя новые операции. После вызова begin() граф будет финализирован, и другие колбэки больше не смогут изменять граф. Второй вызов begin() для того же графа не должен изменять граф.

end

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

end(
    session
)

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

Аргумент session может быть использован, если хук хочет выполнить конечные операции, такие как сохранение последней контрольной точки.

Если session.run() вызывает исключение, отличное от OutOfRangeError или StopIteration, то end() не вызывается. Обратите внимание на различие в поведении end() и after_run(), когда session.run() вызывает OutOfRangeError или StopIteration. В этом случае end() вызывается, но after_run() — нет.

Аргументы
session Сессия TensorFlow, которая вскоре будет закрыта.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/train/ProfilerHook

Spec-Zone.ru

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