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 時等效,則可以使用它。 最後,即使程式的行為不等效,只要變更是語義保留的,也可以是可以接受的。 如果程式在比以前更多的情況下發生錯誤(但其他方面的行為相同),或者如果它以不重要的方式更改了某些量(例如,步長通常屬於這種情況),則它可以是語義保留的。
- 回傳型別