onnx.compose¶
|
將兩個 ONNX 圖形合併成一個單一的圖形。 |
|
將兩個 ONNX 模型合併成一個單一的模型。 |
merge_graphs¶
- onnx.compose.merge_graphs(g1: GraphProto, g2: GraphProto, io_map: list[tuple[str, str]], inputs: list[str] | None = None, outputs: list[str] | None = None, prefix1: str | None = None, prefix2: str | None = None, name: str | None = None, doc_string: str | None = None) GraphProto [來源]¶
將兩個 ONNX 圖形合併成一個單一的圖形。
合併後的圖形是透過連接指定的輸出/輸入集合來定義。在 io_map 引數中未指定的那些輸入/輸出將保留為合併後圖形的輸入/輸出。
- 參數:
g1 (GraphProto) – 第一個圖形
g2 (GraphProto) – 第二個圖形
io_map (字串的列表,成對) – 名稱對 [(out0, in0), (out1, in1), …],代表第一個圖形的輸出和要連接的第二個圖形的輸入
inputs (字串的列表) – 可選的輸入列表,要包含在合併後的圖形中。預設情況下,所有不存在於
io_map
引數中的輸入都會包含在合併後模型中outputs (字串的列表) – 可選的輸出列表,要包含在合併後的圖形中。預設情況下,所有不存在於
io_map
引數中的輸出都會包含在合併後模型中prefix1 (字串) – 要新增至 g1 中所有名稱的可選前綴
prefix2 (字串) – 要新增至 g2 中所有名稱的可選前綴
name (字串) – 合併後圖形的可選名稱。預設情況下,名稱是 g1.name 和 g2.name 以底線分隔符號串連而成
doc_string (字串) – 合併後圖形的可選文件字串。如果未提供,則會使用包含 g1 和 g2 文件字串串連的預設文件字串
- 傳回:
GraphProto
merge_models¶
- onnx.compose.merge_models(m1: ModelProto, m2: ModelProto, io_map: list[tuple[str, str]], inputs: list[str] | None = None, outputs: list[str] | None = None, prefix1: str | None = None, prefix2: str | None = None, name: str | None = None, doc_string: str | None = None, producer_name: str | None = 'onnx.compose.merge_models', producer_version: str | None = '1.0', domain: str | None = '', model_version: int | None = 1) ModelProto [原始碼]¶
將兩個 ONNX 模型合併成一個單一的模型。
合併後的模型是透過連接指定的輸出/輸入集合來定義的。那些未在 io_map 參數中指定的輸入/輸出將保持為合併模型的輸入/輸出。
兩個模型應具有相同的 IR 版本和導入的相同運算子集合。
- 參數:
m1 (ModelProto) – 第一個模型
m2 (ModelProto) – 第二個模型
io_map (字串的列表,成對) – 名稱對 [(out0, in0), (out1, in1), …],代表第一個圖形的輸出和要連接的第二個圖形的輸入
inputs (字串的列表) – 可選的輸入列表,要包含在合併後的圖形中。預設情況下,所有不存在於
io_map
引數中的輸入都會包含在合併後模型中outputs (字串的列表) – 可選的輸出列表,要包含在合併後的圖形中。預設情況下,所有不存在於
io_map
引數中的輸出都會包含在合併後模型中prefix1 (字串) – 可選的前綴,將添加到 m1 中的所有名稱
prefix2 (字串) – 可選的前綴,將添加到 m2 中的所有名稱
name (字串) – 合併後圖形的可選名稱。預設情況下,名稱是 g1.name 和 g2.name 以底線分隔符號串連而成
doc_string (字串) – 合併後圖形的可選文件字串。如果未提供,則會使用包含 g1 和 g2 文件字串串連的預設文件字串
producer_name (字串) – 合併模型的可選生產者名稱。預設值:'onnx.compose'
producer_version (字串) – 合併模型的可選生產者版本。預設值:“1.0”
domain (字串) – 合併模型的可選網域。預設值:""
model_version (int) – 編碼的圖形可選版本。預設值:1
- 傳回:
ModelProto
prefix¶
- onnx.compose.add_prefix_graph(graph: GraphProto, prefix: str, rename_nodes: bool | None = True, rename_edges: bool | None = True, rename_inputs: bool | None = True, rename_outputs: bool | None = True, rename_initializers: bool | None = True, rename_value_infos: bool | None = True, inplace: bool | None = False, name_map: dict[str, str] | None = None) GraphProto [原始碼]¶
在圖形中的元素名稱(節點、邊緣、輸入、輸出、初始化器、稀疏初始化器、數值資訊)加上前綴。
它可以用作合併具有重疊名稱的圖形之前的工具。空的名稱不會加上前綴。
- 參數:
graph (GraphProto) – 圖形
prefix (str) – 要加到圖形中每個名稱的前綴
rename_nodes (bool) – 是否為節點名稱加上前綴
rename_edges (bool) – 是否為節點邊緣名稱加上前綴
rename_inputs (bool) – 是否為輸入名稱加上前綴
rename_outputs (bool) – 是否為輸出名稱加上前綴
rename_initializers (bool) – 是否為初始化器和稀疏初始化器名稱加上前綴
rename_value_infos (bool) – 是否為數值資訊名稱加上前綴
inplace (bool) – 如果為 True,直接修改圖形。否則,將建立副本
name_map – (Dict): 子圖中共享的 name_map
- 傳回:
GraphProto
- onnx.compose.add_prefix(model: ModelProto, prefix: str, rename_nodes: bool | None = True, rename_edges: bool | None = True, rename_inputs: bool | None = True, rename_outputs: bool | None = True, rename_initializers: bool | None = True, rename_value_infos: bool | None = True, rename_functions: bool | None = True, inplace: bool | None = False) ModelProto [原始碼]¶
在模型中的元素名稱(節點、邊緣、輸入、輸出、初始化器、稀疏初始化器、數值資訊和本地函數)加上前綴。
它可以用作合併具有重疊名稱的圖形之前的工具。空的名稱不會加上前綴。
- 參數:
model (ModelProto) – 模型
prefix (str) – 要加到圖形中每個名稱的前綴
rename_nodes (bool) – 是否為節點名稱加上前綴
rename_edges (bool) – 是否為節點邊緣名稱加上前綴
rename_inputs (bool) – 是否為輸入名稱加上前綴
rename_outputs (bool) – 是否為輸出名稱加上前綴
rename_initializers (bool) – 是否為初始化器和稀疏初始化器名稱加上前綴
rename_value_infos (bool) – 是否為值資訊名稱添加前綴
rename_functions (bool) – 是否為本地函數名稱添加前綴
inplace (bool) – 如果為 True,則直接修改模型。否則,會建立一個副本
- 傳回:
ModelProto
維度¶
- onnx.compose.expand_out_dim(model: ModelProto, dim_idx: int, inplace: bool | None = False) ModelProto [原始碼]¶
在圖形中的每個輸出中插入一個額外的維度,其範圍為 1。
為每個輸出插入一個 Unsqueeze 節點。它可以用作合併圖形之前的工具,例如,當第二個圖形需要批次維度時。
- 參數:
model (ModelProto) – 模型
dim_idx (int) – 要插入的維度索引。負值表示從後面開始計算維度。
inplace (bool) – 如果為 True,則直接修改模型。否則,會建立一個副本
- 傳回:
ModelProto
- onnx.compose.expand_out_dim_graph(graph: GraphProto, dim_idx: int, inplace: bool | None = False) GraphProto [原始碼]¶
在圖形中的每個輸出中插入一個額外的維度,其範圍為 1。
為每個輸出插入一個 Unsqueeze 節點。它可以用作合併圖形之前的工具,例如,當第二個圖形需要批次維度時。
- 參數:
graph (GraphProto) – 圖形
dim_idx (int) – 要插入的維度索引。負值表示從後面開始計算維度。
inplace (bool) – 如果為 True,則直接修改模型。否則,會建立一個副本
- 傳回:
GraphProto