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