Spec-Zone.ru › PyTorch 2.14
fullgraph=False">

Работа с fullgraph=False

Создано: 28 июл. 2025 г. | Последнее обновление: 03 дек. 2025 г.

Хотя fullgraph=False является настройкой torch.compile по умолчанию, семантика возобновления компиляции при возникновении разрыва графа сложнее. Подробнее о семантике fullgraph=False можно узнать в подразделах.

Стратегия использования torch.compile(fullgraph=False) такова:

  1. Определите оптимальное место для размещения torch.compile. Обычно это функция самого высокого уровня, которая не приводит к чрезмерному количеству разрывов графа. Примеры функций, приводящих к большому количеству разрывов графа и не получающих существенной пользы от torch.compile, — функции, выполняющие много предварительной обработки или операций ввода-вывода. а. Для локализации проблем сначала можно скомпилировать отдельные функции или модули, а уже затем — целые модели.
  2. Примените torch.compiler.disable к функциям в компилируемой области, которые приводят к большому количеству разрывов графа и не получают пользы от компиляции. В этом случае один разрыв графа лучше, чем потенциально десятки или сотни.
  3. Используйте TORCH_LOGS="graph_breaks" или tlparse для анализа оставшихся разрывов графа. Обходите эти разрывы графа теми же способами, что и разрывы графа в модели программирования fullgraph=True. Не все разрывы графа необходимо устранять: некоторые могут влиять на производительность сильнее других. Общее правило — сосредоточиться на разрывах графа, возникающих во время вычислений модели. а. Для отладки разрывов графа мы рекомендуем использовать torch.compile(backend='eager'), чтобы ускорить итерации отладки.
  • Где применять torch.compile?
    • compile(model) и model.compile()
  • Отключение и подавление ошибок
  • Переключение error_on_graph_break
    • Пример error_on_graph_break(False)
    • Пример error_on_graph_break(True)
    • Поведение при вложении error_on_graph_break
    • Взаимодействие с fullgraph
    • Сравнение fullgraph=True/False и error_on_graph_break
  • Вложенные разрывы графа
  • Пропущенные функции
    • Разрыв графа в цикле
    • Разрыв графа в менеджере контекста
    • Разрыв графа в блоке try
    • Достижение предела повторной компиляции
    • Ошибки компилятора
    • Работа с пропущенными функциями

© 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

Spec-Zone.ru

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