tf.profiler.experimental.Trace
Менеджер контекста, который генерирует событие отслеживания в профилировщике.
tf.profiler.experimental.Trace(
name, **kwargs
)
Событие отслеживания начнётся при входе в контекст и остановится и сохранит результат в профилировщик при выходе из контекста. Откройте вкладку «Профиль» в TensorBoard и выберите просмотрщик отслеживания, чтобы увидеть событие отслеживания во временной шкале.
События отслеживания создаются только при включённом профилировщике. Дополнительную информацию о том, как использовать профилировщик, можно найти по адресу 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 | Дополнительные аргументы, добавляемые к событию отслеживания. И ключ, и значение являются типами, которые могут быть преобразованы в строки, которые будут интерпретированы профилировщиком в соответствии с именем traceme. Пример использования:
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/versions/r2.9/api_docs/python/tf/profiler/experimental/Trace