torch.fx.experimental.symbolic_shapes.definitely_true¶
- torch.fx.experimental.symbolic_shapes.definitely_true(a)[source][source]¶
仅当我们可以确定 a 为 True 时返回 True,在此过程中可能引入保护措施。如果 a 依赖于某些未备份的 SymInt,即使存在可能导致表达式返回 True 的 SymInt 的可能值,我们可能也会返回 False。
使用 definitely_true 何时是合适的?首先,如果可以使用更高层次的组合器,则优先使用它们,因为它们肯定安全(考虑短路)。其次,如果程序在 definitely_true 总是返回 False 的情况下表现相同,则可以使用它。最后,即使程序不会表现相同,只要变化是语义保留的,也是可以的。如果程序在比之前更多的案例中出错(但其他方面表现相同),或者如果它以不重要的方式改变某些数量(例如,步长通常属于这个类别),则可以保留语义。
- 返回类型: