tf.profiler.experimental.Trace
Контекстный менеджер, создающий событие отслеживания в профайлере.
tf.profiler.experimental.Trace(
name, **kwargs
)
Событие отслеживания начнётся при входе в контекст и завершится, сохранив результат в профайлере, при выходе из контекста. Откройте вкладку TensorBoard Profile и выберите просмотрщик отслеживания, чтобы просмотреть событие отслеживания на временной шкале.
События отслеживания создаются только при включённом профайлере. Дополнительную информацию о том, как использовать профайлер, можно найти по адресу https://tensorflow.org/guide/profiler
Пример использования:
tf.profiler.experimental.start('logdir')
for step in range(num_steps):
# Creates a trace event for each training step with the step number.
with tf.profiler.experimental.Trace("Train", step_num=step, _r=1):
train_fn()
tf.profiler.experimental.stop()
| Аргументы | |
|---|---|
name | Имя события отслеживания. |
**kwargs | Дополнительные ключевые аргументы для события отслеживания. Ключ и значение должны быть типов, которые можно преобразовать в строки, которые будут интерпретированы профайлером в соответствии с именем отслеживаемого события. Пример использования:
tf.profiler.experimental.start('logdir')
for step in range(num_steps):
# Creates a trace event for each training step with the
# step number.
with tf.profiler.experimental.Trace("Train", step_num=step):
train_fn()
tf.profiler.experimental.stop()
В примере выше используется ключевой аргумент "step_num" для указания этапа обучения, который отслеживается. |
Методы
set_metadata
set_metadata(
**kwargs
)
Устанавливает метаданные в этом событии отслеживания.
| Аргументы | |
|---|---|
**kwargs | Метаданные в виде пар ключ-значение. |
Этот метод позволяет задавать метаданные в событии отслеживания после его создания.
Пример использования:
def call(function):
with tf.profiler.experimental.Trace("call",
function_name=function.name) as tm:
binary, in_cache = jit_compile(function)
tm.set_metadata(in_cache=in_cache)
execute(binary)
В этом примере мы хотим отследить время, затраченное на вызов функции, включая компиляцию и выполнение. Компиляция может быть либо получением кэшированной копии бинарного файла, либо фактической генерацией бинарного файла, что указывается булевым значением "in_cache", возвращаемым jit_compile(). Необходимо использовать set_metadata(), чтобы передать in_cache, потому что значение in_cache было неизвестно при создании отслеживания (и мы не можем создать отслеживание после jit_compile(), потому что хотим измерить все время вызова).
__enter__
__enter__()
__exit__
__exit__(
exc_type, exc_val, exc_tb
)
© 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/profiler/experimental/Trace