torch._logging
В PyTorch реализована настраиваемая система логирования, где различным компонентам могут быть заданы разные уровни логов. Например, сообщения логов одного компонента могут быть полностью отключены, в то время как сообщения логов другого компонента могут быть настроены на максимальную подробность.
Предупреждение
Эта функция является прототипом и в будущем может иметь изменения, нарушающие совместимость.
Предупреждение
Функциональность управления сообщениями логов всех компонентов в PyTorch пока не расширена.
Существует два способа настройки системы логирования: через переменную окружения TORCH_LOGS или через API Python torch._logging.set_logs.
set_logs
| Устанавливает уровень логов для отдельных компонентов и включает/выключает типы артефактов логов. |
Переменная окружения TORCH_LOGS представляет собой список пар [+-]<component>, разделённых запятыми, где <component> — это компонент, указанный ниже. Префикс + понизит уровень логов компонента, отображая больше сообщений логов, в то время как префикс - повысит уровень логов компонента и отобразит меньше сообщений логов. Значение по умолчанию соответствует поведению, когда компонент не указан в TORCH_LOGS. Помимо компонентов, существуют также артефакты. Артефакты — это специфичные фрагменты отладочной информации, связанные с компонентом, которые либо отображаются, либо нет; поэтому добавление префикса + или - к артефакту не повлияет на его поведение. Поскольку они связаны с компонентом, включение компонента обычно также включает соответствующий артефакт, если этот артефакт не был явно задан как off_by_default. Этот параметр указан в _registrations.py для артефактов, которые настолько многословны, что должны отображаться только при явном включении. Ниже перечислены настраиваемые компоненты и артефакты через переменную окружения TORCH_LOGS (см. torch._logging.set_logs для API Python):
- Компоненты:
-
-
all -
Специальный компонент, который настраивает уровень логов по умолчанию для всех компонентов. Значение по умолчанию:
logging.WARN -
dynamo -
Уровень логов для компонента TorchDynamo. Значение по умолчанию:
logging.WARN -
aot -
Уровень логов для компонента AOTAutograd. Значение по умолчанию:
logging.WARN -
inductor -
Уровень логов для компонента TorchInductor. Значение по умолчанию:
logging.WARN -
your.custom.module -
Уровень логов для произвольного не зарегистрированного модуля. Укажите полное имя, и модуль будет включен. Значение по умолчанию:
logging.WARN
-
- Артефакты:
-
-
bytecode -
Выводить исходный и сгенерированный байткод из TorchDynamo. Значение по умолчанию:
False -
aot_graphs -
Выводить графы, сгенерированные AOTAutograd. Значение по умолчанию:
False -
aot_joint_graph -
Выводить объединённый граф прямого и обратного распространения, сгенерированный AOTAutograd. Значение по умолчанию:
False -
ddp_graphs -
Выводить графы, сгенерированные DDPOptimizer. Значение по умолчанию:
False -
graph -
Выводить граф, полученный TorchDynamo в табличной форме. Значение по умолчанию:
False -
graph_code -
Выводить исходный код Python графа, полученного TorchDynamo. Значение по умолчанию:
False -
graph_breaks -
Выводить сообщение при обнаружении уникального разрыва графика во время трассировки TorchDynamo. Значение по умолчанию:
False -
guards -
Выводить фильтры, сгенерированные TorchDynamo для каждой скомпилированной функции. Значение по умолчанию:
False -
recompiles -
Выводить причину и сообщение об ошибке фильтра каждый раз, когда TorchDynamo перекомпилирует функцию. Значение по умолчанию:
False -
output_code -
Выводить сгенерированный TorchInductor выходной код. Значение по умолчанию:
False -
schedule -
Выводить расписание TorchInductor. Значение по умолчанию:
False
-
- Примеры:
-
TORCH_LOGS="+dynamo,aot"установит уровень логов TorchDynamo вlogging.DEBUGи AOT вlogging.INFOTORCH_LOGS="-dynamo,+inductor"установит уровень логов TorchDynamo вlogging.ERRORи TorchInductor вlogging.DEBUGTORCH_LOGS="aot_graphs"включит артефактaot_graphsTORCH_LOGS="+dynamo,schedule"установит уровень логов TorchDynamo вlogging.DEBUGи включит артефактscheduleTORCH_LOGS="+some.random.module,schedule"установит уровень логов для some.random.module вlogging.DEBUGи включит артефактschedule
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/2.1/logging.html