Spec-Zone.ru › PyTorch 2.14

KinetoStepTracker

class torch.autograd.profiler.KinetoStepTracker [исходный код]

Предоставляет абстракцию для глобального увеличения счётчика шагов.

Ранее в программе было только одно место, где можно было отметить выполнение шага через pytorch profiler step(). Теперь мы добавим хуки шага в класс Optimizer pytorch/pytorch#88446

  • Это может привести к тому, что программы, в которых profiler.step() вызывается на каждой итерации, будут дважды увеличивать счётчик шагов.
  • Если модель использует несколько оптимизаторов, счётчик шагов также может увеличиваться дважды или более раз.

Мы решаем эту проблему, добавляя уровень абстракции перед вызовом step() в библиотеку kineto. Идея состоит в том, чтобы хранить количество шагов для каждого инициатора в словаре:

{
   "ProfilerStep": 100,  # triggered by profiler step() call
   "Optimizer1Step": 100,   # Optimizer 1 or 2 are just examples, could be SGD, Adam etc
   "Optimizer2Step": 100,
}

Чтобы узнать глобальное количество шагов, достаточно взять максимальное значение в словаре (100).

Если один из счётчиков увеличится, максимум возрастёт.

{
   "ProfilerStep": 100,
   "Optimizer1Step": 101,   # Optimizer1 got incremented first say
   "Optimizer2Step": 100,
}

Тогда глобальное количество шагов станет равным 101. Мы вызываем функцию шага kineto step() только при увеличении глобального счётчика.

ПРИМЕЧАНИЕ: Пока не используйте KinetoStepTracker в модулях, отличных от Optimizer. Это может привести к некорректному увеличению счётчика шагов.

classmethod current_step() [исходный код]

Получить последний шаг для любого инициатора

Тип возвращаемого значения:

int

classmethod erase_step_count(requester) [исходный код]

Удалить указанного инициатора.

Тип возвращаемого значения:

bool

classmethod increment_step(requester) [исходный код]

Увеличить счётчик шагов для инициатора.

Кроме того, если максимум всех счётчиков шагов увеличился, вызвать _kineto_step(); возвращает глобальное количество шагов

Тип возвращаемого значения:

int

classmethod init_step_count(requester) [исходный код]

Инициализировать для указанного инициатора.

© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.autograd.profiler.KinetoStepTracker.html

Spec-Zone.ru

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