Работа с fullgraph=False
Создано: 28 июл. 2025 г. | Последнее обновление: 03 дек. 2025 г.
Хотя fullgraph=False является настройкой torch.compile по умолчанию, семантика возобновления компиляции при возникновении разрыва графа сложнее. Подробнее о семантике fullgraph=False можно узнать в подразделах.
Стратегия использования torch.compile(fullgraph=False) такова:
-
Определите оптимальное место для размещения
torch.compile. Обычно это функция самого высокого уровня, которая не приводит к чрезмерному количеству разрывов графа. Примеры функций, приводящих к большому количеству разрывов графа и не получающих существенной пользы отtorch.compile, — функции, выполняющие много предварительной обработки или операций ввода-вывода. а. Для локализации проблем сначала можно скомпилировать отдельные функции или модули, а уже затем — целые модели. -
Примените
torch.compiler.disableк функциям в компилируемой области, которые приводят к большому количеству разрывов графа и не получают пользы от компиляции. В этом случае один разрыв графа лучше, чем потенциально десятки или сотни. -
Используйте
TORCH_LOGS="graph_breaks"или tlparse для анализа оставшихся разрывов графа. Обходите эти разрывы графа теми же способами, что и разрывы графа в модели программированияfullgraph=True. Не все разрывы графа необходимо устранять: некоторые могут влиять на производительность сильнее других. Общее правило — сосредоточиться на разрывах графа, возникающих во время вычислений модели. а. Для отладки разрывов графа мы рекомендуем использоватьtorch.compile(backend='eager'), чтобы ускорить итерации отладки.
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/user_guide/torch_compiler/compile/programming_model.fullgraph_false.html