RelaxedUnspecConstraint¶
- class torch.fx.experimental.symbolic_shapes.RelaxedUnspecConstraint(warn_only)[source][source]¶
对于客户端:没有显式约束;约束是根据跟踪从保护机制中隐式推断出的任何内容。
对于后端:在此维度上必须存在至少两个可能的尺寸值,以满足此维度的保护机制。
换句话说,此约束帮助我们区分“我们不关心此维度是否专门化”与“此维度必须是非专门化的”。但是,此约束并没有过多说明允许什么样的专门化;例如,如果我们保护尺寸为偶数,这在 unspec 约束下仍然是可以接受的。这使得 RelaxedUnspecConstraint 对于 eager 模式非常有用,在 eager 模式下,您的后端编译器可能会对原本动态的维度添加约束;我们不能断言没有保护机制,因为编译器应该能够添加额外的约束,这样做会很脆弱。如果您想断言没有保护机制,请使用具有无界 ValueRanges 的 StrictMinMaxConstraint。