torch.fx.experimental.symbolic_shapes.definitely_true¶
- torch.fx.experimental.symbolic_shapes.definitely_true(a)[源代码][源代码]¶
仅当我们能确定 `a` 为 True 时返回 True,此过程可能会引入 guard。如果 `a` 依赖于某个未支持的 SymInt,即使存在一个 SymInt 的可能值会使表达式返回 True,我们也可能返回 False。
何时适合使用 definitely_true?首先,如果可以使用更高级别的组合器,请优先使用它们,它们绝对安全(除了短路评估)。其次,如果程序在 definitely_true 始终返回 False 时行为等效,则可以使用它。最后,即使程序行为不等效,只要更改是语义保持的,也可以使用它。如果程序在比之前更多的情况下报错(但其他方面行为相同),或者以不影响结果的方式改变了某个量(例如,步长通常属于此类),则该更改是语义保持的。
- 返回类型