共用方式為


DML_GRAPH_DESC 結構 (directml.h)

描述用來編譯合併優化運算子的 DirectML 運算符圖表。 請參閱 IDMLDevice1::CompileGraph

語法

struct DML_GRAPH_DESC {
  UINT                      InputCount;
  UINT                      OutputCount;
  UINT                      NodeCount;
  const DML_GRAPH_NODE_DESC *Nodes;
  UINT                      InputEdgeCount;
  const DML_GRAPH_EDGE_DESC *InputEdges;
  UINT                      OutputEdgeCount;
  const DML_GRAPH_EDGE_DESC *OutputEdges;
  UINT                      IntermediateEdgeCount;
  const DML_GRAPH_EDGE_DESC *IntermediateEdges;
};

成員

InputCount

類型: UINT

整體圖表的輸入數目。 每個圖形輸入都可以連線到一個可變數目的內部節點,因此這可能與 InputEdgeCount 不同。

OutputCount

類型: UINT

整體圖形的輸出數目。 每個圖形輸出都可能會連線到一個可變數目的內部節點,因此這可能與 OutputEdgeCount 不同。

NodeCount

類型: UINT

圖形中的內部節點數目。

Nodes

類型:_Field_size_ (NodeCount) const DML_GRAPH_NODE_DESC*

圖形中的內部節點。

InputEdgeCount

類型: UINT

圖形輸入與圖形中內部節點輸入之間的連線數目。

InputEdges

類型:_Field_size_ (InputEdgeCount) const DML_GRAPH_EDGE_DESC*

圖形輸入與圖形中內部節點輸入之間的連線數位。 每個元素內的 [類型 ] 欄位應該設定為 DML_GRAPH_EDGE_TYPE_INPUT

OutputEdgeCount

類型: UINT

圖形輸出與圖形中內部節點輸出之間的連線數目。

OutputEdges

類型:_Field_size_ (OutputEdgeCount) const DML_GRAPH_EDGE_DESC*

圖形輸出與圖形中內部節點輸出之間的連線數位。 每個元素內的 [類型 ] 欄位應該設定為 DML_GRAPH_EDGE_TYPE_OUTPUT

IntermediateEdgeCount

類型: UINT

圖形中節點之間的內部連線數目。

IntermediateEdges

類型:_Field_size_ (IntermediateEdgeCount) const DML_GRAPH_EDGE_DESC*

圖形中內部節點輸入和輸出之間的連線數位列。 每個元素內的 [類型] 欄位應該設定為 DML_GRAPH_EDGE_TYPE_INTERMEDIATE

備註

這個結構所描述的圖表必須是導向的無循環圖表。 您必須定義每個所提供節點之輸入和輸出的連接,但對於相關聯運算元而言是選擇性的輸入和輸出除外。

節點可能會針對特定輸入使用 DML_TENSOR_FLAG_OWNED_BY_DML 旗標所建立的運算符。 使用此旗標的任何運算元輸入都必須連接到圖形輸入。 連接到相同圖形輸入的所有運算元輸入都必須使用或省略此旗標。

連接其連接輸入和輸出的運算子使用不同的維度計數、大小和數據類型是合法的。 這表示每個運算符會以不同的方式解譯 Tensor 數據 Blob。 不過,連接的張量輸入和輸出 的 TotalTensorSizeInBytes 欄位必須相同。 運算子應該只讀取先前運算子所撰寫之張量的區域。 作業輸出中任何填補區域 (因使用) 而產生,不保證由下流運算符讀取為零。

可用性

此 API 是在 DirectML 版本中 1.1.0引進的。

規格需求

需求
最低支援的用戶端 Windows 10 組建 20348
最低支援的伺服器 Windows 10 組建 20348
標頭 directml.h

另請參閱