tf.compat.v1.train.ProfilerHook
Собирает данные профилирования CPU/GPU каждые N шагов или секунд.
Наследуется от: SessionRunHook
tf.compat.v1.train.ProfilerHook(
save_steps=None,
save_secs=None,
output_dir='',
show_dataflow=True,
show_memory=False
)
Создает файлы с именами "timeline-
Дополнительную информацию см. на странице: 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/api_docs/python/tf/compat/v1/train/ProfilerHook