torch.fx.experimental.const_fold.split_const_subgraphs
-
torch.fx.experimental.const_fold.split_const_subgraphs(module, skip_folding_node_fn=None, device_for_folded_attrs='cpu', is_impure_node=None)[source] -
Просматривает
moduleв поисках узлов, у которых все входы атрибутов являются константами, отделяет их в отдельный подграф констант и возвращает FoldedGraphModule, который при первом запуске выполняет этот подграф констант, чтобы задать атрибуты модуля перед выполнением неконстантной части графа.skip_folding_node_fn, если он передан, может вызываться для узлов, принадлежащих вложенным подграфамcall_module, а не только для узлов верхнего уровня: узелcall_moduleсворачивается атомарно, поэтому пропускается, если пропущен любой узел внутри его подграфа. Следовательно, предикаты должны работать только с узлом; предикат, которому необходимо разрешитьtargetузла в подмодуль, должен использоватьnode.graph.owning_module, а не захваченную ссылку на модуль верхнего уровня.is_impure_node, если он передан, передаётся вeliminate_dead_code, чтобы DCE сохранял узлы, которые вызывающий код считает имеющими побочные эффекты, помимо проверкиNode.is_impure()по умолчанию (например, операции с вариантом out, записывающие данные в предварительно выделенный буфер через аргумент-ключевое словоout=, который не объявлен изменяемым в схеме).- Тип возвращаемого значения:
-
FoldedGraphModule
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.fx.experimental.const_fold.split_const_subgraphs.html