torch.fx.experimental¶
警告
這些 API 處於實驗階段,如有更改,恕不另行通知。
torch.fx.experimental.symbolic_shapes¶
控制如何為維度執行符號分配。 |
|
對於客戶端:此維度的大小必須在 'vr' 範圍內(指定一個包含下限和上限的範圍),並且必須為非負數,且不應為 0 或 1(但請參閱下面的 NB)。 |
|
對於客戶端:沒有明確的約束;約束是由追蹤中的守衛隱含推斷的任何內容。 |
|
表示和判斷輸入源之間各種相等的約束。 |
|
指定我們應如何在 |
|
透過 |
|
透過 Source:Symbol 的快取給出的符號上下文確定,在 |
|
可追蹤張量子類的給定內部張量的正確符號上下文可能與外部符號上下文的符號上下文不同。 |
|
符號維度上約束系統的自定義求解器。 |
|
封裝所有可能影響 FakeTensor 調度的 shape env 設定。 |
|
檢索整數的提示(基於運行時觀察到的底層實際值)。 |
|
用於檢查 SymInt 中底層物件是否為具體值的工具。 |
|
用於檢查 SymBool 中底層物件是否為具體值的工具。 |
|
用於檢查 SymInt 中底層物件是否為具體值的工具。 |
|
更快版本的 bool(free_symbols(val)) |
|
更快版本的 bool(free_unbacked_symbols(val)) |
|
僅當我們可以判斷 a 為 True 時才返回 True,並且可能在此過程中引入 guard。 |
|
僅當我們可以判斷 a 為 False 時才返回 True,並且可能在此過程中引入 guard。 |
|
以 size oblivious 的方式對符號布林運算式執行 guard。 |
|
類似於 ==,但當在 list/tuple 上運行時,它將遞迴地測試相等性並使用 sym_and 將結果連接在一起,而無需 guard。 |
|
應用一個約束,即傳入的 SymInt 必須介於 min-max 包含之間,而不在 SymInt 上引入 guard(意味著它可以用於 unbacked SymInt)。 |
|
給定兩個 SymInt,約束它們,使它們必須相等。 |
|
通過將布林運算式轉換為 lt / le 不等式並將所有非恆定項移動到 rhs 來規範化布林運算式。 |
|
如果 x 可以簡化為常數並且為 true,則返回 True。 |
|
測試兩個“meta”值(通常是 Tensor 或 SymInt)是否具有相同的值,例如,在 retracing 之後。 |
|
在運行 fake tensor propagation 並產生 example_value 結果後,遍歷 example_value 尋找新綁定的 unbacked 符號,並記錄它們的路徑以供以後使用。 |
|
假設我們正在 retracing 一個預先存在的 FX 圖,該圖以前具有 fake tensor propagation(因此具有 unbacked SymInt)。 |
|
torch.fx.experimental.proxy_tensor¶
給定一個函數 f,返回一個新函數,當使用 f 的有效參數執行時,該函數返回一個 FX GraphModule,表示執行過程中執行的操作集。 |
|
呼叫當前活動的代理追蹤模式,在對這些參數進行操作的函數上執行 SymInt/SymFloat/SymBool 調度追蹤。 |
|
目前活動的代理追蹤模式,如果我們目前未追蹤,則為 None。 |
|
在此 context manager 中,如果您正在執行 make_fx 追蹤,我們將 thunkify 所有 SymNode 計算,並避免將其追蹤到圖中,除非實際需要。 |
|
在上下文中,停用 thunkification。 |