Spec-Zone.ru › TensorFlow

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

Spec-Zone.ru

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