torch.fx.experimental¶
警告
這些 API 處於實驗階段,可能會在不另行通知的情況下進行更改。
torch.fx.experimental.symbolic_shapes¶
控制如何為維度執行符號分配。 |
|
對於客戶端:此維度的尺寸必須在 'vr'(指定包含上下限)範圍內,並且必須是非負數,不應為 0 或 1(但請參閱下面的 NB)。 |
|
對於客戶端:沒有顯式約束;約束是由跟蹤中的 guard 隱式推斷的。 |
|
表示並決定輸入源之間各種型別的相等約束。 |
|
資料結構,指定應如何在 |
|
根據 |
|
根據 Source:Symbol 快取給出的 symbolic_context 確定方式,在 |
|
可追蹤張量子類的給定內部張量的正確符號上下文可能與外部符號上下文不同。 |
|
用於符號維度約束系統的自定義求解器。 |
|
封裝可能影響 FakeTensor 排程的所有 shape env 設定。 |
|
檢索整型變數的提示(基於執行時觀察到的底層實際值)。 |
|
檢查 SymInt 中底層物件是否為具體值的工具函式。 |
|
檢查 SymBool 中底層物件是否為具體值的工具函式。 |
|
檢查 SymInt 中底層物件是否為具體值的工具函式。 |
|
bool(free_symbols(val)) 的更快版本 |
|
bool(free_unbacked_symbols(val)) 的更快版本 |
|
僅當我們確定 'a' 為 True 時返回 True,此過程可能引入 guard。 |
|
僅當我們確定 'a' 為 False 時返回 True,此過程可能引入 guard。 |
|
以與大小無關的方式對符號布林表示式執行 guard。 |
|
類似於 ==,但在列表/元組上執行時,它會遞迴測試相等性,並使用 sym_and 連線結果,而無需 guarding。 |
|
應用約束,要求傳入的 SymInt 必須在 min-max 範圍內(包含 min 和 max),且不引入對 SymInt 的 guard(意味著它可用於 unbacked SymInts)。 |
|
給定兩個 SymInt,約束它們使它們必須相等。 |
|
透過將其轉換為 lt / le 不等式並將所有非常數項移至右手邊來規範化布林表示式。 |
|
如果 x 可以簡化為常量且為 true,則返回 True。 |
|
測試兩個“元”值(通常是 Tensor 或 SymInt)具有相同的值,例如在重新追蹤後。 |
|
執行 fake tensor 傳播並生成 example_value 結果後,遍歷 example_value 查詢新繫結的 unbacked 符號,並記錄其路徑以供後續使用。 |
|
假設我們正在重新追蹤之前已進行 fake tensor 傳播(因此包含 unbacked SymInts)的現有 FX 圖。 |
|
torch.fx.experimental.proxy_tensor¶
給定函式 f,返回一個新函式,該新函式在執行時使用 f 的有效引數,返回一個 FX GraphModule,表示執行過程中執行的操作集。 |
|
呼叫當前活動的代理追蹤模式,對作用於這些引數的函式執行 SymInt/SymFloat/SymBool 排程追蹤。 |
|
當前活動的代理追蹤模式;如果當前未追蹤,則為 None。 |
|
在此上下文管理器內,如果您正在進行 make_fx 追蹤,我們將對所有 SymNode 計算進行 thunkify,並避免將其追蹤到圖中,除非實際需要。 |
|
在某個上下文中,停用 thunkification。 |