RelaxedUnspecConstraint
-
class torch.fx.experimental.symbolic_shapes.RelaxedUnspecConstraint(warn_only)[исходный код] -
Для пользователей: явные ограничения отсутствуют; ограничение определяется тем, что неявно выводится из защитных условий при трассировке.
Для бэкендов: для размера в этом измерении должно существовать как минимум ДВА возможных значения, удовлетворяющих защитным условиям для этого измерения.
Иными словами, это ограничение помогает нам различать ситуации «нам не важно, будет ли это измерение специализироваться» и «это измерение должно оставаться неспециализированным». Однако это ограничение мало говорит о том, какая специализация допустима; например, если мы устанавливаем защитное условие, что размер должен быть чётным, это всё равно будет допустимо при ограничении unspec. Благодаря этому RelaxedUnspecConstraint полезен в eager-режиме, где компилятор вашего бэкенда может добавлять ограничения к измерениям, которые в противном случае были бы динамическими; мы не можем утверждать, что защитных условий НЕТ, поскольку это было бы ненадёжно: компиляторы должны иметь возможность добавлять дополнительные ограничения. Если нужно утверждать, что защитных условий нет, используйте StrictMinMaxConstraint с неограниченным ValueRanges.
© 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.symbolic_shapes.RelaxedUnspecConstraint.html