• 文件 >
  • torch.fx.experimental
捷徑

torch.fx.experimental

警告

這些 API 仍處於實驗階段,如有變更,恕不另行通知。

torch.fx.experimental.symbolic_shapes

torch.fx.experimental.symbolic_shapes 提供了與我們的符號形狀推理系統互動的介面,該系統在 torch.compile 中被大量使用。 雖然這通常不被認為是公開 API,但在 PyTorch 中編寫框架程式碼以及 PyTorch 的擴充時(例如,在自訂運算子實作中),您可能需要使用這些 API 來適當地設定動態形狀支援。

ShapeEnv

DimDynamic

控制如何為維度執行符號分配。

StrictMinMaxConstraint

對於客戶端:此維度的尺寸必須在「vr」內(指定下限和上限,包含-包含),並且必須是非負數,並且不應該是 0 或 1(但請參閱下面的 NB)。

RelaxedUnspecConstraint

對於客戶端:沒有明確的約束;約束是由追蹤中的守衛隱含推斷出的任何內容。

EqualityConstraint

表示並決定輸入源之間各種相等性約束。

SymbolicContext

指定如何在 create_symbolic_sizes_strides_storage_offset 中建立符號的資料結構;例如,它們應該是靜態的還是動態的。

StatelessSymbolicContext

透過由 DimDynamicDimConstraint 給出的符號上下文確定,在 create_symbolic_sizes_strides_storage_offset 中建立符號。

StatefulSymbolicContext

透過 Source:Symbol 快取給出的符號上下文確定,在 create_symbolic_sizes_strides_storage_offset 中建立符號。

SubclassSymbolicContext

可追蹤張量子類別的給定內部張量的正確符號上下文可能與外部符號上下文不同。

DimConstraints

符號維度約束系統的自訂求解器。

ShapeEnvSettings

封裝了所有可能影響 FakeTensor 調度的形狀環境設定。

ConvertIntKey

CallMethodKey

PropagateUnbackedSymInts

DivideByKey

InnerTensorKey

hint_int

擷取 int 的提示(基於在執行時觀察到的實際值)。

is_concrete_int

用於檢查 SymInt 中的底層物件是否是具體值的工具程式。

is_concrete_bool

用於檢查 SymBool 中的底層物件是否是具體值的工具程式。

has_free_symbols

bool(free_symbols(val)) 的更快版本

definitely_true

僅在我們可以判斷 a 為 True 時才返回 True,在此過程中可能會引入守衛。

definitely_false

僅在我們可以判斷 a 為 False 時才返回 True,在此過程中可能會引入守衛。

guard_size_oblivious

以與大小無關的方式對符號布林運算式執行守衛。

parallel_or

評估多個引數的邏輯 OR,如果另一個引數確定為 True,則避免在未備份的 SymInt 上守衛。

parallel_and

評估多個引數的邏輯 FALSE,如果另一個引數確定為 False,則避免在未備份的 SymInt 上守衛。

sym_eq

類似於 ==,但在列表/元組上執行時,它將遞迴地測試相等性,並使用 sym_and 將結果連接在一起,而不進行守衛。

constrain_range

應用約束,即傳入的 SymInt 必須介於最小值和最大值之間(包含-包含),而不會在 SymInt 上引入守衛(這意味著它可以用於未備份的 SymInt)。

constrain_unify

給定兩個 SymInt,約束它們,使它們必須相等。

canonicalize_bool_expr

透過將布林運算式轉換為 lt / le 不等式,並將所有非常數項移到右側,來對其進行規範化。

statically_known_true

如果 x 可以簡化為常數並且為 true,則返回 True。

lru_cache

check_consistent

測試兩個「中繼」值(通常是 Tensor 或 SymInt)是否具有相同的值,例如,在重新追蹤之後。

compute_unbacked_bindings

在執行完虛擬張量傳播並產生 example_value 結果之後,遍歷 example_value 以尋找新繫結的未備份符號,並記錄它們的路徑以供稍後使用。

rebind_unbacked

假設我們正在重新追蹤先前具有虛擬張量傳播(因此有未備份的 SymInt)的預先存在的 FX 圖。

resolve_unbacked_bindings

文件

取得 PyTorch 的完整開發者文件

查看文件

教學課程

取得適用於初學者和進階開發者的深入教學課程

查看教學課程

資源

尋找開發資源並獲得問題解答

查看資源