torch.fx.experimental
Создано: 7 февр. 2024 г. | Последнее обновление: 24 апр. 2026 г.
Предупреждение
Эти API являются экспериментальными и могут измениться без предварительного уведомления.
-
class torch.fx.experimental.sym_node.DynamicInt(val)[исходный код] -
Пользовательский API для пометки динамических целых чисел в
torch.compile. Предназначен для совместимости как с режимом компиляции, так и с eager-режимом.Пример использования:
fn = torch.compile(f) x = DynamicInt(4) fn(x) # compiles x as a dynamic integer input; returns f(4)
- Тип возвращаемого значения:
-
Self
torch.fx.experimental.sym_node
torch.fx.experimental.symbolic_shapes
ShapeEnv
| |
DimDynamic
| Определяет, как выполнять выделение символа для измерения. |
StrictMinMaxConstraint
| Для клиентов: размер этого измерения должен находиться в пределах 'vr' (который задаёт включительные нижнюю и верхнюю границы) И быть неотрицательным; он не должен быть равен 0 или 1 (см. примечание ниже). |
RelaxedUnspecConstraint
| Для клиентов: явных ограничений нет; ограничение определяется неявно защитными проверками, выведенными при трассировке. |
EqualityConstraint
| Представляет различные виды ограничений на равенство между источниками входных данных и определяет их выполнение. |
SymbolicContext
| Структура данных, задающая, как следует создавать символы в |
StatelessSymbolicContext
| Создаёт символы в |
StatefulSymbolicContext
| Создаёт символы в |
SubclassSymbolicContext
| Правильный символический контекст для заданного внутреннего тензора трассируемого подкласса тензора может отличаться от внешнего символического контекста. |
SymIntEqByExpr
| Это оболочка для SymInt с альтернативной семантикой равенства и сериализации с помощью pickle. |
SymIntSymbolicContext
| Структура данных, задающая ограничения для входного значения SymInt. |
TrackedFake
| Отслеживает источники всех фиктивных тензоров, которые мы оборачиваем в Dynamo. |
ValueRangesSLoc
| Расположения защитных проверок, вызвавших ограничения снизу и сверху. |
DimConstraints
| Пользовательский решатель системы ограничений на символические измерения. |
ShapeEnvSettings
| Содержит все настройки среды форм, потенциально влияющие на диспетчеризацию FakeTensor. |
ConvertIntKey
| |
CallMethodKey
| |
PropagateUnbackedSymInts
| |
DivideByKey
| |
InnerTensorKey
| |
Specialization
| Этот класс используется в контекстах компиляции с несколькими графами, где создаётся несколько специализированных графов и во время выполнения выбирается подходящий. |
is_concrete_int
| Вспомогательная функция для проверки, является ли базовый объект в SymInt конкретным значением. |
is_concrete_bool
| Вспомогательная функция для проверки, является ли базовый объект в SymBool конкретным значением. |
is_concrete_float
| Вспомогательная функция для проверки, является ли базовый объект в SymInt конкретным значением. |
has_free_symbols
| Более быстрая версия bool(free_symbols(val)) |
has_free_unbacked_symbols
| Более быстрая версия bool(free_unbacked_symbols(val)) |
guard_or_true
| Попытаться установить защитную проверку для a; если возникает ошибка из-за зависимости от данных, просто вернуть true. |
guard_or_false
| Попытаться установить защитную проверку для a; если возникает ошибка из-за зависимости от данных, просто вернуть false. |
guard_size_oblivious
| Выполнить защитную проверку символического булева выражения способом, не зависящим от размера. |
sym_and
| Логическое «и» для символических выражений без преобразования в bool. |
sym_eq
| Подобно ==, но при работе со списком или кортежем рекурсивно проверяет равенство и объединяет результаты с помощью sym_and без выполнения защитной проверки. |
sym_or
| Логическое «или» для символических выражений без преобразования в bool. |
constrain_range
| Накладывает ограничение, согласно которому переданное значение SymInt должно находиться в диапазоне от min до max включительно, НЕ создавая защитную проверку для SymInt (это позволяет применять функцию к значениям SymInt без подложки). |
constrain_unify
| Накладывает на два значения SymInt ограничение, согласно которому они должны быть равны. |
canonicalize_bool_expr
| Приводит булево выражение к каноническому виду, преобразуя его в неравенство lt / le и перенося все неконстантные слагаемые в правую часть. |
statically_known_true
| Возвращает True, если x можно упростить до константы и эта константа истинна. |
statically_known_false
| Возвращает True, если x можно упростить до константы и эта константа равна False. |
has_static_value
| Удобная для пользовательского кода вспомогательная функция для проверки, является ли значение статическим или динамическим. |
lru_cache
| |
check_consistent
| Проверяет, что два значения «meta» (обычно Tensor или SymInt) имеют одинаковые значения, например после повторной трассировки. |
compute_unbacked_bindings
| После выполнения распространения фиктивных тензоров и получения результата example_value обходит example_value в поисках недавно привязанных символов без подложки и записывает их пути для последующего использования. |
rebind_unbacked
| Предположим, что мы повторно трассируем существующий граф FX, для которого ранее выполнялось распространение фиктивных тензоров (и поэтому в нём имеются значения SymInt без подложки). |
resolve_unbacked_bindings
| При распространении фиктивных тензоров мы часто выделяем новые значения symint без подложки. |
is_accessor_node
| Вспомогательная функция для определения, пытается ли узел получить доступ к символическому целому числу, например к размеру, шагу, смещению или элементу. |
cast_symbool_to_symint_guardless
| Преобразует SymBool или bool в SymInt или int без создания защитных проверок. |
create_contiguous
| |
error
| |
eval_guards
| |
eval_is_non_overlapping_and_dense
| |
find_symbol_binding_fx_nodes
| Находит в графе FX все узлы, привязывающие символы sympy. |
free_symbols
| Рекурсивно собирает все свободные символы из значения. |
free_unbacked_symbols
| Как free_symbols, но возвращает только символы без подложки. |
fx_placeholder_targets
| |
fx_placeholder_vals
| |
guard_bool
| |
guard_float
| |
guard_int
| |
guard_scalar
| Выполняет защитную проверку скалярного значения, которым может быть символическое или конкретное логическое, целочисленное значение либо число с плавающей запятой. |
guarding_hint_or_throw
| Возвращает конкретную подсказку для символического значения, используемую при принятии решений о защитных проверках. |
has_guarding_hint
| Проверяет, доступна ли для символического значения подсказка, используемая при выполнении защитных проверок. |
has_symbolic_sizes_strides
| |
is_nested_int
| |
is_symbol_binding_fx_node
| Проверяет, является ли заданный узел FX узлом привязки символа. |
is_symbolic
| |
optimization_hint
| Возвращает конкретную подсказку для символического целого числа, используемую при принятии решений об оптимизации. |
expect_true
| |
log_lru_cache_stats
|
torch.fx.experimental.proxy_tensor
make_fx
| Для заданной функции f возвращает новую функцию, которая при выполнении с допустимыми аргументами для f возвращает FX GraphModule, представляющий набор операций, выполненных в ходе выполнения. |
handle_sym_dispatch
| Вызывает текущий активный режим proxy-трассировки для выполнения трассировки диспетчеризации SymInt/SymFloat/SymBool функции, работающей с этими аргументами. |
get_innermost_proxy_mode
| |
get_proxy_mode
| Текущий активный режим proxy-трассировки или None, если в данный момент трассировка не выполняется. |
maybe_enable_thunkify
| В рамках этого менеджера контекста, если выполняется трассировка make_fx, мы преобразуем все вычисления SymNode в отложенные и не будем добавлять их в граф, если только это действительно не потребуется. |
maybe_disable_thunkify
| Отключает преобразование в отложенные вычисления в заданном контексте. |
selective_decompose
| Повторно трассирует объединённый графовый модуль и выборочно применяет декомпозицию. |
thunkify
| Откладывает вычисление f до следующего вызова. Также кэширует результат. |
track_tensor
| |
track_tensor_tree
| |
decompose
| |
disable_autocast_cache
| |
disable_proxy_modes_tracing
| |
dispatch_trace
| |
extract_val
| |
fake_signature
| Из-за аргументов переменной длины FX работает некорректно; исправляем это. |
fetch_object_proxy
| |
fetch_sym_proxy
| |
has_proxy_slot
| |
is_sym_node
| |
maybe_handle_decomp
| |
proxy_call
| |
set_meta
| |
set_original_aten_op
| |
set_proxy_slot
| |
snapshot_fake
|
torch.fx.experimental.optimization
extract_subgraph
| Получив списки узлов существующего графа, представляющие подграф, возвращает подмодуль, выполняющий этот подграф. |
gen_mkl_autotuner
| Создаёт эвристику, которую можно передать в |
matches_module_pattern
| |
modules_to_mkldnn
| Для каждого узла, являющегося модулем, который можно предварительно преобразовать в MKLDNN, выполняет такое преобразование и создаёт сопоставление, позволяющее преобразовать версию модуля для MKLDNN в исходную. |
optimize_for_inference
| Выполняет набор проходов оптимизации модели для инференса. |
remove_dropout
| Удаляет из модуля все слои dropout. |
replace_node_module
| |
reset_modules
| Возвращает исходное состояние каждого модуля, изменённого с помощью |
use_mkl_length
| Это эвристика, которую можно передать в |
torch.fx.experimental.recording
torch.fx.experimental.unification.core
reify
| Заменяет переменные выражения подстановкой >>> x, y = var(), var() >>> e = (1, x, (3, y)) >>> s = {x: 2, y: 4} >>> reify(e, s) (1, 2, (3, 4)) >>> e = {1: x, 3: (y, 5)} >>> reify(e, s) {1: 2, 3: (4, 5)} |
torch.fx.experimental.unification.multipledispatch.utils
typename
| Получает имя |
expand_tuples
|
>>> expand_tuples([1, (2, 3)]) |
groupby
| Группирует коллекцию по функции-ключу >>> names = ["Alice", "Bob", "Charlie", "Dan", "Edith", "Frank"] >>> groupby(len, names) # doctest: +SKIP {3: ['Bob', 'Dan'], 5: ['Alice', 'Edith', 'Frank'], 7: ['Charlie']} >>> iseven = lambda x: x % 2 == 0 >>> groupby(iseven, [1, 2, 3, 4, 5, 6, 7, 8]) # doctest: +SKIP {False: [1, 3, 5, 7], True: [2, 4, 6, 8]} . |
raises
| |
reverse_dict
| Обращает направление зависимостей в словаре. |
torch.fx.experimental.unification.unification_tools
assoc
| Возвращает новый dict с новой парой ключ-значение. |
assoc_in
| Возвращает новый dict с новой, возможно вложенной, парой ключ-значение. |
dissoc
| Возвращает новый dict с удалённым указанным ключом или ключами. |
first
| Первый элемент последовательности. |
get_in
| Возвращает coll[i0][i1]...[iX], где [i0, i1, ..., iX]==keys. |
groupby
| Группирует коллекцию по функции-ключу. |
keyfilter
| Фильтрует элементы словаря по ключу. |
keymap
| Применяет функцию к ключам словаря. |
merge
| Объединяет коллекцию словарей. |
merge_with
| Объединяет словари и применяет функцию к объединённым значениям. |
update_in
| Обновляет значение во (возможно) вложенном словаре. |
valfilter
| Фильтрует элементы словаря по значению. |
valmap
| Применяет функцию к значениям словаря. |
itemfilter
| Фильтрует элементы словаря по элементу. |
itemmap
| Применяет функцию к элементам словаря. |
torch.fx.experimental.migrate_gradual_types.transform_to_z3
transform_algebraic_expression
| Преобразует алгебраическое выражение в формат z3 :param expr: Выражение представляет собой переменную измерения или алгебраическое выражение |
transform_all_constraints
| По заданной трассировке генерирует ограничения и преобразует их в формат z3. |
transform_all_constraints_trace_time
| Получает узел и граф и генерирует два набора ограничений. |
transform_dimension
| Получает переменную измерения или число и преобразует его в кортеж согласно принятой схеме :param dimension: Измерение для преобразования :param counter: отслеживание переменных |
transform_to_z3
| |
transform_var
| Преобразует переменные тензора в формат, понятный z3 :param tensor: Переменная тензора или тип тензора, возможно, с переменными измерениями |
evaluate_conditional_with_constraints
| Получив IR и узел, представляющий условное выражение, вычисляет это условное выражение и его отрицание :param tracer_root: Корень трассировщика для экземпляров модуля :param node: Узел для вычисления |
iterate_till_fixed_point
| Преобразует ограничения до достижения неподвижной точки. |
torch.fx.experimental.migrate_gradual_types.constraint
torch.fx.experimental.migrate_gradual_types.constraint_generator
adaptive_inference_rule
| |
add_layer_norm_constraints
| Ограничения указывают, что тип имеет форму: |
add_linear_constraints
| |
arange_inference_rule
| |
assert_inference_rule
| |
batchnorm_inference_rule
| |
bmm_inference_rule
| Ограничения, сопоставляющие вход тензору размера 3 и переставляющие измерения согласно правилам пакетного умножения |
broadcasting_inference_rule
| |
conv2d_inference_rule
| |
cumsum_inference_rule
| Формы входа и выхода должны совпадать. Необходимо проверить допустимость индекса. |
embedding_inference_rule
| Форма выхода отличается от формы входа последним измерением |
embedding_inference_rule_functional
| |
eq_inference_rule
| |
equality_inference_rule
| Создаётся ограничение: input = output |
expand_inference_rule
| Создаются те же ограничения, что и для сложения тензоров, но ранг этого выражения ограничивается значением len(n.args[1:]), чтобы для выхода рассматривались только соответствующие случаи. |
flatten_inference_rule
| |
full_inference_rule
| |
gen_broadcasting_constraints
| |
gen_embedding_rules
| |
gen_layer_norm_constraints
| |
generate_flatten_constraints
| |
get_attr_inference_rule
| Если атрибут равен "device", форма тензора сохраняется |
getitem_inference_rule
| |
gt_inference_rule
| |
index_select_inference_rule
| |
layer_norm_functional
| Создаётся ограничение: input = output |
layer_norm_inference_rule
| Формы входа и выхода должны совпадать. |
linear_constraints
| |
linear_inference_rule
| Размеры входа и выхода должны совпадать, кроме последнего измерения. Если вход имеет тип Dyn, выход также должен иметь тип Dyn. |
lt_inference_rule
| |
masked_fill_inference_rule
| Аналогично сложению. |
maxpool_inference_rule
| |
neq_inference_rule
| В системе постепенных типов это приводит к противоречию. |
range_check
| Проверяет, находится ли индекс i в пределах списка размера n :param i: индекс :param n: размер списка |
register_inference_rule
| |
relu_inference_rule
| Формы входа и выхода должны совпадать. |
reshape_inference_rule
| |
size_inference_rule
| Ограничение представляет собой равенство lhs = rhs. |
tensor_inference_rule
| Если тензор является скаляром, он будет пропущен, поскольку скаляры пока не поддерживаются. |
torch_dim_inference_rule
| |
torch_linear_inference_rule
| |
transpose_inference_rule
| Можно рассматривать как последовательность двух операций выбора по индексу, поэтому ограничения генерируются соответствующим образом |
type_inference_rule
| Создаётся ограничение: input = output |
view_inference_rule
| Аналогично reshape, но с дополнительным условием для шагов |
register_inference_rule
| |
transpose_inference_rule
| Можно рассматривать как последовательность двух операций выбора по индексу, поэтому ограничения генерируются соответствующим образом |
range_check
| Проверяет, находится ли индекс i в пределах списка размера n :param i: индекс :param n: размер списка |
torch.fx.experimental.migrate_gradual_types.constraint_transformation
apply_padding
| Рассматривается случай, когда у одного входа меньше измерений, чем у другого, поэтому к результатам широковещательного преобразования применяется дополнение |
broadcast_dim
| Применяет широковещательное преобразование к измерению «index» тензора tensor_input1. |
calc_last_two_dims
| Генерирует ограничения для двух последних измерений свёртки или результата maxpool :param constraint: CalcConv или CalcMaxPool :param d: Список выходных измерений |
create_equality_constraints_for_broadcasting
| Создаёт ограничения равенства для случая, когда широковещательное преобразование не выполняется :param e1: Вход 1 :param e2: Вход 2 :param e11: Вход 1 после широковещательного преобразования :param e12: Вход 2 после широковещательного преобразования :param d1: Переменные, хранящие измерения e1 :param d2: Переменные, хранящие измерения e2 :param d11: Переменные, хранящие измерения e11 :param d12: Переменные, хранящие измерения e22 |
gen_all_reshape_possibilities
| Рассматривает все возможные варианты измерений входа (число или динамическое значение), затем генерирует соответствующие ограничения с использованием умножения или взятия остатка в зависимости от варианта. Рассматриваемые здесь варианты представляют собой декартово произведение случаев, когда значение входа равно dyn или не равно dyn. |
gen_broadcasting_constraints
| Моделирует широковещательное преобразование для e1 и e2 и возвращает результаты соответственно в e11 и e12. |
gen_consistency_constraints
|
|
gen_greatest_upper_bound
|
|
gen_lists_of_dims
| Генерирует списки DVar для представления измерений тензоров :param num_tensors: Требуемое число тензоров :param dim_size: Число измерений каждого тензора :param counter: Переменная для отслеживания |
generate_all_broadcasting_possibilities_no_padding
| Генерирует ограничения широковещательного преобразования, предполагая отсутствие дополнения. |
generate_all_int_dyn_dim_possibilities
| Генерирует все варианты равенства или неравенства dyn для my_list :param my_list: Список измерений тензора |
generate_binconstraint_d
| Преобразует бинарные ограничения для измерений |
generate_binconstraint_t
| Преобразует бинарные ограничения для тензоров |
generate_broadcasting
| Преобразует ограничения широковещательного преобразования |
generate_calc_conv
| |
generate_calc_maxpool
| Преобразует ограничения maxpool |
generate_calc_product
| Преобразует ограничения flatten |
generate_conj
| Преобразует конъюнкции |
generate_d_gub
| Преобразует наименьшую верхнюю грань для измерений в ограничения равенства |
generate_disj
| Преобразует дизъюнкции |
generate_gub
| Преобразует наименьшую верхнюю грань для тензоров. |
generate_reshape
| Преобразует ограничения reshape |
is_target_div_by_dim
| Генерирует ограничения для проверки делимости целевых измерений на входные :param target: Целевые измерения :param dim: Входные измерения |
no_broadcast_dim_with_index
|
|
register_transformation_rule
| |
transform_constraint
| Преобразует ограничение в более простое ограничение. |
transform_get_item
| Генерирует равенство вида: t = [a1, ..., an], а затем генерирует ограничения для проверки допустимости заданного индекса при данном размере тензора. |
transform_get_item_tensor
| Если индекс является кортежем, результатом будет тензор TODO: нужно проверить, так ли это для всех моделей HF |
transform_index_select
| Ограничения учитывают заданный размер тензора, проверяют допустимость индекса и, если он допустим, генерируют ограничение для замены входного измерения требуемым измерением |
transform_transpose
| Аналогично последовательности из двух операций index-select |
valid_index
| Проверяет, допустим ли индекс в списке заданных измерений |
valid_index_tensor
| Если число экземпляров среза превышает число измерений, возникает ошибка типа, поэтому возвращается False |
is_dim_div_by_target
| Генерирует ограничения для проверки делимости входных измерений на целевые :param target: Целевые измерения :param dim: Входные измерения |
torch.fx.experimental.graph_gradual_typechecker
adaptiveavgpool2d_check
| |
adaptiveavgpool2d_inference_rule
| Размеры входа и выхода должны совпадать, за исключением двух последних измерений входа, которые соответствуют ширине и высоте |
add_inference_rule
| Применяет правило вывода типа для сложения. |
all_eq
| Для операций, в которых форма входа совпадает с формой выхода |
bn2d_inference_rule
| Для экземпляра BatchNorm2D и узла проверяются следующие условия: - тип входа можно расширить до тензора размера 4: t = (x_1, x_2, x_3, x_4) - тип текущего узла можно расширить до тензора размера 4: t' = (x_1', x_2', x_3', x_4') - t согласуется с t' - x_2 согласуется с num_features модуля - x_2' согласуется с num_features модуля тип выхода: наиболее точный тип среди t и t' |
broadcast_types
| Применяет широковещательное преобразование к обоим заданным типам, чтобы они согласовывались друг с другом, и возвращает два новых результирующих типа |
calculate_out_dimension
| Для вычисления h_in и w_out согласно документации conv2D |
conv2d_inference_rule
| Для экземпляра Conv2D и узла проверяются следующие условия: - тип входа можно расширить до тензора размера 4: t = (x_1, x_2, H, W) - тип текущего узла можно расширить до тензора размера 4: t' = (x_1', x_2', x_3', x_4') - x_2 согласуется с in_channels модуля - пусть o = (x_1, out_channels, H_out, W_out), тогда выходом будет наименьшая верхняя грань o и существующего типа узла t'. |
conv_refinement_rule
| Ограничения равенства задаются между первым измерением входа и выхода |
conv_rule
| По возможности представляет выход в виде алгебраического выражения относительно входа |
element_wise_eq
| Для поэлементных операций; обрабатывает широковещательное преобразование. |
expand_to_tensor_dim
| По возможности расширяет тип до требуемого числа измерений тензора. В противном случае вызывает ошибку. |
first_two_eq
| Для операций, в которых совпадают первые два измерения формы входа и выхода |
flatten_check
| |
flatten_inference_rule
| Применяет информацию о форме flatten к входу, а затем вычисляет наименьшую верхнюю грань полученного типа и существующего типа |
flatten_refinement_rule
| Генерирует ограничения равенства между измерениями входа и выхода, которые не участвуют в операции flatten |
get_attr_inference_rule
| Текущее правило getattr обрабатывает только атрибут shape. Его можно расширить для работы с другими атрибутами. Наиболее общий тип, которым мы располагаем, — «Dyn», но систему можно расширить, добавив другие типы, например тип для представления форм |
get_greatest_upper_bound
| Возвращает наиболее точный тип, согласующийся с заданными типами |
get_parameter
| Возвращает параметр, заданный |
GraphTypeChecker
| |
linear_check
| Проверяет, удовлетворяет ли тип входного тензора условиям линейной операции, и возвращает тип выхода на основе in_features и out_features, заданных module_instance |
linear_inference_rule
| Применяет информацию о форме к входу, а затем вычисляет наименьшую верхнюю грань полученного типа и существующего типа |
linear_refinement_rule
| Ограничения равенства задаются между первым измерением входа и выхода |
maxpool2d_check
| Применяет информацию о форме maxpool2d к входу; это затрагивает два последних измерения |
maxpool2d_inference_rule
| Для экземпляра MaxPool2D и узла проверяются следующие условия: |
register_algebraic_expressions_inference_rule
| |
register_inference_rule
| |
register_refinement_rule
| |
relu_inference_rule
| Формы входа и выхода должны совпадать. |
reshape_inference_rule
| При отсутствии динамических измерений правило проверяет, что произведение элементов типа тензора-аргумента равно произведению элементов требуемой формы. |
transpose_inference_rule
| Проверяем, что измерения для операций transpose находятся в пределах допустимого диапазона для типа тензора узла |
torch.fx.experimental.meta_tracer
torch.fx.experimental.accelerator_partitioner
check_dependency
| Для заданного раздела проверить с помощью BFS, существует ли в этом разделе циклическая зависимость |
combine_two_partitions
| Для заданного списка разделов и двух его разделов объединить эти два раздела в новый, добавив его в список, и удалить прежние два раздела из списка |
reorganize_partitions
| Для заданного списка разделов изменить идентификатор раздела, его родительские и дочерние элементы для каждого раздела |
reset_partition_device
| |
set_parents_and_children
| Для заданного списка разделов отметить родительские и дочерние элементы каждого раздела |
torch.fx.experimental.debug
set_trace
| Устанавливает точку останова в сгенерированном коде Python для |
torch.fx.experimental.merge_matmul
are_nodes_independent
| Проверить, являются ли все заданные узлы попарно независимыми по данным. |
may_depend_on
| Определить, зависит ли один узел от другого в torch.fx.Graph. |
merge_matmul
| Преобразование графа, объединяющее операции умножения матриц с одинаковым операндом справа в одну большую операцию умножения матриц. |
torch.fx.experimental.unification.match
edge
| A следует проверять перед B. Порядок разрешения конфликтов задаётся tie_breaker; по умолчанию используется |
match
| |
ordering
| Рациональный порядок проверки сигнатур, от первой до последней. Топологическая сортировка рёбер, заданных с помощью |
supercedes
|
|
torch.fx.experimental.unification.more
reify_object
| Восстановить объект Python с помощью подстановки >>> class Foo(object): . |
unifiable
| Зарегистрировать стандартные операции унификации и восстановления для класса. Для определения природы терма используются его тип и атрибуты __dict__ или __slots__. См. также: >>> class A(object): . |
unify_object
| Унифицировать два объекта Python. Унифицируются их типы и атрибуты |
torch.fx.experimental.unification.multipledispatch.conflict
ambiguities
| Все пары сигнатур, для которых A неоднозначна с B |
ambiguous
| A совместима с B, но ни одна из них не является строго более конкретной |
consistent
| Существует список аргументов, удовлетворяющий одновременно A и B |
edge
| A следует проверять перед B. Порядок разрешения конфликтов задаётся tie_breaker; по умолчанию используется |
ordering
| Рациональный порядок проверки сигнатур, от первой до последней. Топологическая сортировка рёбер, заданных с помощью |
super_signature
| Сигнатура, устраняющая неоднозначность |
supercedes
| A совместима с B и строго более конкретна |
torch.fx.experimental.unification.multipledispatch.core
torch.fx.experimental.unification.multipledispatch.dispatcher
ambiguity_warn
| Выдать предупреждение при обнаружении неоднозначности. |
halt_ordering
| Устаревший интерфейс для временного отключения упорядочивания. |
restart_ordering
| Устаревший интерфейс для временного возобновления упорядочивания. |
source
| |
str_signature
| Строковое представление сигнатуры типов >>> str_signature((int, float)) 'int, float' |
variadic_signature_matches
| |
variadic_signature_matches_iter
| Проверить, соответствует ли набор входных типов вариативной сигнатуре. |
warning_text
| Текст предупреждений о неоднозначности |
torch.fx.experimental.unification.multipledispatch.variadic
isvariadic
| Проверить, является ли тип |
torch.fx.experimental.unification.utils
freeze
| Преобразовать контейнер в хешируемую форму >>> freeze(1) 1 >>> freeze([1, 2]) (1, 2) >>> freeze({1: 2}) # doctest: +SKIP frozenset([(1, 2)]) |
hashable
| |
raises
| |
reverse_dict
| Изменяет направление словаря зависимостей. |
transitive_get
| Транзитивный dict.get >>> d = {1: 2, 2: 3, 3: 4} >>> d.get(1) 2 >>> transitive_get(1, d) 4 |
xfail
|
torch.fx.experimental.unification.variable
torch.fx.experimental.unify_refinements
check_for_type_equality
| Проверка равенства для использования в поиске неподвижных точек. |
convert_eq
| Преобразовать ограничения равенства в формат, подходящий для библиотеки унификации. |
infer_symbolic_types
| Дважды вызывает наш механизм символьного вывода типов. |
infer_symbolic_types_single_pass
| Один раз вызывает наш механизм символьного вывода типов. |
substitute_all_types
| Применять наиболее общий унификатор ко всем типам в графе до достижения неподвижной точки. |
substitute_solution_one_type
| Применить наиболее общий унификатор к типу |
unify_eq
| Применить унификацию к набору ограничений равенства |
torch.fx.experimental.validator
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/fx.experimental.html