快捷方式

torch.jit.set_fusion_strategy

torch.jit.set_fusion_strategy(strategy)[源][源]

設定融合期間可能發生的特殊化型別和數量。

用法:提供一個對列表 (type, depth),其中 type 是“STATIC”或“DYNAMIC”之一,depth 是一個整數。

行為 - 靜態與動態

在靜態 (STATIC) 融合中,融合後的運算元會被編譯為具有固定的輸入形狀。形狀基於一些初始分析執行確定。在動態 (DYNAMIC) 融合中,融合後的運算元會被編譯為具有可變輸入形狀,從而支援多種形狀。

在這兩種情況下,我們也會在新步幅行為、裝置或資料型別出現時重新編譯。

行為 - 回退函式與深度

當輸入與專業化編譯運算元所需的格式不匹配時,它將執行回退函式。回退函式會根據觀察到的張量形狀遞迴地被編譯和特殊化。由於編譯可能很慢,提供了“depth”引數來限制可以編譯的特殊化數量,在此之前,如果超過限制,將放棄重新編譯並回退到完全未融合、未特殊化的實現。

對列表 (type, depth) 控制特殊化的型別和數量。例如:[(“STATIC”, 2), (“DYNAMIC”, 2)] 表示前兩個特殊化將使用靜態融合,接下來的兩個特殊化將使用動態融合,任何不滿足這 4 個選項中任何一個的輸入都將執行未融合的實現。

注意:將來,如果新增更多融合後端,可能會有更細粒度的特定融合器 API。

文件

訪問 PyTorch 全面詳細的開發者文件

檢視文件

教程

獲取面向初學者和高階開發人員的深入教程

檢視教程

資源

查詢開發資源並獲取問題解答

檢視資源