tf.profiler.experimental.Trace
Менеджер контекста, создающий событие трассировки в профилировщике.
tf.profiler.experimental.Trace(
name, **kwargs
)
Событие трассировки начинается при входе в контекст, а при выходе из него завершается и сохраняется в профилировщике. Откройте вкладку Profile в 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(), так как хотим измерить всю продолжительность вызова call()).
__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