torch._logging
Создано: 24 апр. 2023 г. | Последнее обновление: 13 июл. 2026 г.
В 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):
Компоненты
Имена компонентов задают уровень журналирования для группы связанных журналов. По умолчанию для каждого компонента используется уровень logging.WARN, если не задана другая настройка.
-
all: специальный компонент, задающий уровень журналирования по умолчанию для всех компонентов. -
aot: уровень журналирования компонента AOTAutograd. -
async_compile: уровень журналирования рабочих процессов асинхронной компиляции Inductor. -
autograd: уровень журналирования autograd. -
c10d: уровень журналирования операций связи c10d в PyTorch Distributed. -
cache: уровень журналирования компонентов кэширования Inductor. -
ddp: уровень журналирования компонентовDistributedDataParallel. -
distributed: уровень журналирования компонентов PyTorch Distributed. -
dtensor: уровень журналирования компонентовDTensor. -
dynamic: уровень журналирования динамических форм. -
dynamo: уровень журналирования компонента TorchDynamo. -
export: уровень журналирования экспорта. -
fake_tensor: уровень журналирования FakeTensor. -
fsdp: уровень журналирования компонентовFullyShardedDataParallel. -
inductor: уровень журналирования компонента TorchInductor. -
native_dsl: уровень журналирования компонента нативного DSL. -
onnx: уровень журналирования компонента экспортера ONNX. -
pp: уровень журналирования распределённой конвейерной обработки. -
torch: уровень журналирования компонента верхнего уровняtorch. -
your.custom.module: уровень журналирования произвольного незарегистрированного модуля. Укажите полное имя, чтобы включить модуль.
Артефакты
Артефакты содержат отдельные фрагменты отладочной информации. По умолчанию для каждого артефакта используется значение False, если не задана другая настройка. Артефакты, помеченные как «отключённые по умолчанию», не включаются при задании уровня журналирования родительского компонента и должны включаться явно. Внутренние артефакты, используемые только для тестирования, не перечислены.
-
aot_graphs: выводит прямой и обратный граф FX, сгенерированные AOTDispatch после разбиения на части. -
aot_graphs_effects: выводит прямой и обратный граф FX, сгенерированные AOTDispatch; полезно для отладки обработки эффектов. -
aot_joint_graph: выводит объединённый граф FX из AOTAutograd до разбиения на части. -
annotation: регистрирует подробные этапы создания аннотаций для узлов графа. По умолчанию отключено. -
autotuning_inputs: регистрирует формы/типы данных/шаги входных тензоров для каждого ядра во время автоподстройки. По умолчанию отключено. -
autotuning: регистрирует варианты автоподстройки, например исходный код ядра, производительность и параметры настройки. По умолчанию отключено. -
auto_chunker: регистрирует сведения, связанные с автоматическим разбиением на фрагменты. По умолчанию отключено. -
benchmarking: регистрирует подробную информацию о тестировании производительности Inductor. По умолчанию отключено. -
bytecode: выводит исходный и изменённый байт-код Dynamo. По умолчанию отключено. -
caching: регистрирует подробную информацию о кэшировании Inductor. По умолчанию отключено. -
compiled_autograd: выводит журналы скомпилированного autograd, включая графы. -
compiled_autograd_verbose: выводит журналы скомпилированного autograd с информацией C++, например сопоставления узлов autograd с узлами FX. По умолчанию отключено. -
compute_dependencies: регистрирует сведения о зависимостях вычислений Inductor. По умолчанию отключено. -
cudagraphs: регистрирует сведения об обёртывании сгенерированного Inductor кода в графы CUDA. -
cudagraph_static_inputs: регистрирует обработку статических входных данных в Dynamo, AOT и графах CUDA. По умолчанию отключено. -
ddp_graphs: выводит отдельные графы, создаваемые при разбиении графов DDPOptimizer для раннего запуска обмена данными. -
fusion: регистрирует подробные сведения о решениях Inductor по объединению операций. По умолчанию отключено. -
graph: выводит граф, трассированный Dynamo до AOTDispatch, в табличном формате. -
graph_breaks: выводит сообщение при каждом решении Dynamo о необходимости разрыва графа. -
graph_code: выводит код Python для графа, трассированного Dynamo. -
graph_code_verbose: выводит подробные журналы проходов FX, напримерtensorify_python_scalarsиruntime_assert. -
graph_region_expansion: регистрирует подробные этапы алгоритма расширения отслеживателя дублирующихся областей графа. По умолчанию отключено. -
graph_sizes: выводит размеры всех узлов FX в графе Dynamo. -
guards: выводит защитные условия для каждого скомпилированного кадра Dynamo. -
hierarchical_compile: регистрирует отладочную информацию для иерархической компиляции. По умолчанию отключено. -
incremental: регистрирует сведения об инкрементальной автоподстройке. По умолчанию отключено. -
inductor_metrics: регистрирует метрики Inductor, напримерnum_bytes,nodes_num_elemиnode_runtimes. По умолчанию отключено. -
ir_post_fusion: выводит IR после проходов объединения Inductor. По умолчанию отключено. -
ir_pre_fusion: выводит IR до проходов объединения Inductor. По умолчанию отключено. -
kernel_code: выводит код, сгенерированный Inductor, отдельно для каждого ядра. По умолчанию отключено. -
loop_ordering: регистрирует сведения о порядке циклов. По умолчанию отключено. -
loop_tiling: регистрирует сведения о разбиении циклов на блоки. По умолчанию отключено. -
node_runtime_estimation: регистрирует оценку времени выполнения узлов для принятия решений по оптимизации во время компиляции. По умолчанию отключено. -
not_implemented: выводит сообщения журнала при возвратеNotImplementedфункцией multi-dispatch. -
onnx_diagnostics: регистрирует диагностические сообщения экспортера ONNX. По умолчанию отключено. -
output_code: выводит код, генерируемый Inductor: Triton или C++. По умолчанию отключено. -
overlap: регистрирует подробные сведения о решениях Inductor по перекрытию вычислений и обмена данными. По умолчанию отключено. -
overlap_scheduling: регистрирует подробные сведения о проходе планирования перекрытий Inductor. По умолчанию отключено. -
perf_hints: регистрирует подсказки Inductor по производительности. По умолчанию отключено. -
post_grad_graphs: выводит граф FX, созданный после проходов Inductor после градиентов. -
pre_grad_graphs: выводит граф FX до проходов Inductor до градиентов. -
recompiles: выводит причину повторной компиляции графа Dynamo. -
recompiles_verbose: выводит все проверки защитных условий, завершившиеся неудачно во время повторной компиляции. По умолчанию отключено. -
schedule: регистрирует сведения о планировщике Inductor. По умолчанию отключено. -
side_effects: выводит побочные эффекты, для которых Dynamo генерирует код, включая изменения переменных, атрибутов, ячеек и глобальных переменных. -
sym_node: регистрирует дополнительную информацию для различных операцийSymNode. По умолчанию отключено. -
trace_bytecode: выводит инструкцию и текущий стек во время трассировки байт-кода Dynamo. -
trace_call: выводит подробные сведения о трассировке для каждого выражения, если они доступны. -
trace_shape_events: регистрирует трассировки для каждой операцииShapeEnv, записанной для повторного воспроизведения. По умолчанию отключено. -
trace_source: выводит имя файла, номер строки и исходный код во время выполнения Dynamo байт-кода. -
verbose_guards: выводит подробную информацию о защитных условиях. По умолчанию отключено.
- Примеры:
-
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
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/logging.html