Spec-Zone.ru › TensorFlow 2.9

tf.estimator.ProfilerHook

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

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

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

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

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

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

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

Это создаёт файлы с именем «timeline-.json», которые находятся в формате Chrome Trace.

Для получения дополнительной информации см.: 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 Объект Coordinator, отслеживающий все потоки.

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, которая будет вскоре закрыта.

© 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/versions/r2.9/api_docs/python/tf/estimator/ProfilerHook

Spec-Zone.ru

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