評價此頁

PropagateUnbackedSymInts#

class torch.fx.experimental.symbolic_shapes.PropagateUnbackedSymInts(module, garbage_collect_values=True, graph=None)[source]#
boxed_run(args_list)[source]#

透過解釋執行 module 並返回結果。這使用了“boxed”呼叫約定,您傳遞一個引數列表,直譯器將清除該列表。這確保了輸入張量能被及時解除分配。

注意

此 API 的向後相容性得到保證。

call_function(target, args, kwargs)[source]#

執行一個 call_function 節點並返回結果。

引數
  • target (Target) – 此節點的呼叫目標。有關語義的詳細資訊,請參閱 Node

  • args (Tuple) – 此呼叫的位置引數元組

  • kwargs (Dict) – 此呼叫的關鍵字引數字典

返回型別

任何

Return

Any: 函式呼叫返回的值

注意

此 API 的向後相容性得到保證。

call_method(target, args, kwargs)[source]#

執行一個 call_method 節點並返回結果。

引數
  • target (Target) – 此節點的呼叫目標。有關語義的詳細資訊,請參閱 Node

  • args (Tuple) – 此呼叫的位置引數元組

  • kwargs (Dict) – 此呼叫的關鍵字引數字典

返回型別

任何

Return

Any: 方法呼叫返回的值

注意

此 API 的向後相容性得到保證。

call_module(target, args, kwargs)[source]#

執行一個 call_module 節點並返回結果。

引數
  • target (Target) – 此節點的呼叫目標。有關語義的詳細資訊,請參閱 Node

  • args (Tuple) – 此呼叫的位置引數元組

  • kwargs (Dict) – 此呼叫的關鍵字引數字典

返回型別

任何

Return

Any: 模組呼叫返回的值

注意

此 API 的向後相容性得到保證。

fetch_args_kwargs_from_env(n)[source]#

從當前執行環境中獲取節點 n 的具體 argskwargs 值。

引數

n (Node) – 應從中獲取 argskwargs 的節點。

返回

argskwargs 包含 n 的具體值。

返回型別

Tuple[Tuple, Dict]

注意

此 API 的向後相容性得到保證。

fetch_attr(target)[source]#

self.moduleModule 層級結構中獲取一個屬性。

引數

target (str) – 要獲取的屬性的完全限定名

返回

屬性的值。

返回型別

任何

注意

此 API 的向後相容性得到保證。

get_attr(target, args, kwargs)[source]#

執行一個 get_attr 節點。將從 self.moduleModule 層級結構中檢索屬性值。

引數
  • target (Target) – 此節點的呼叫目標。有關語義的詳細資訊,請參閱 Node

  • args (Tuple) – 此呼叫的位置引數元組

  • kwargs (Dict) – 此呼叫的關鍵字引數字典

返回

檢索到的屬性值

返回型別

任何

注意

此 API 的向後相容性得到保證。

map_nodes_to_values(args, n)[source]#

遞迴地遍歷 args,並在當前執行環境中查詢每個 Node 的具體值。

引數
  • args (Argument) – 用於查詢具體值的巢狀資料結構

  • n (Node) – args 所屬的節點。僅用於錯誤報告。

返回型別

Optional[Union[tuple[‘Argument’, …], Sequence[Argument], Mapping[str, Argument], slice, range, Node, str, int, float, bool, complex, dtype, Tensor, device, memory_format, layout, OpOverload, SymInt, SymBool, SymFloat]]

注意

此 API 的向後相容性得到保證。

output(target, args, kwargs)[source]#

執行一個 output 節點。這實際上只是檢索 output 節點引用的值並返回它。

引數
  • target (Target) – 此節點的呼叫目標。有關語義的詳細資訊,請參閱 Node

  • args (Tuple) – 此呼叫的位置引數元組

  • kwargs (Dict) – 此呼叫的關鍵字引數字典

返回

output 節點引用的返回值

返回型別

任何

注意

此 API 的向後相容性得到保證。

placeholder(target, args, kwargs)[source]#

執行一個 placeholder 節點。請注意,這是有狀態的:Interpreter 維護一個內部迭代器,用於處理傳遞給 run 的引數,此方法返回該迭代器的 next() 值。

引數
  • target (Target) – 此節點的呼叫目標。有關語義的詳細資訊,請參閱 Node

  • args (Tuple) – 此呼叫的位置引數元組

  • kwargs (Dict) – 此呼叫的關鍵字引數字典

返回

檢索到的引數值。

返回型別

任何

注意

此 API 的向後相容性得到保證。

run(*args, initial_env=None, enable_io_processing=True)[source]#

透過解釋執行 module 並返回結果。

引數
  • *args – 要執行的 Module 的引數,按位置順序排列

  • initial_env (Optional[Dict[Node, Any]]) – 執行的可選起始環境。這是一個將 Node 對映到任意值的字典。例如,這可用於預填充某些 Nodes 的結果,以便僅在直譯器內進行部分求值。

  • enable_io_processing (bool) – 如果為 True,我們將在使用圖的 process_inputs 和 process_outputs 函式之前,先用它們處理輸入和輸出。

返回

執行 Module 返回的值

返回型別

任何

注意

此 API 的向後相容性得到保證。

run_node(n)[source]#

執行一個 FX 節點,將未備份的 Symbol 繫結傳播到新的 fake tensor

返回型別

Union[Tensor, tuple[torch.Tensor, …]]