mindspore_gl.BatchedGraphField
- class mindspore_gl.BatchedGraphField(src_idx=None, dst_idx=None, n_nodes=None, n_edges=None, ver_subgraph_idx=None, edge_subgraph_idx=None, graph_mask=None, indices=None, indptr=None, indices_backward=None, indptr_backward=None, csr=False)[源代码]
批次图的数据容器。
边信息以COO格式存储。
- 参数:
src_idx (Tensor, 可选) - shape为 \((N\_EDGES)\) 的int类型Tensor,表示COO边矩阵的源节点索引。默认值:None。
dst_idx (Tensor, 可选) - shape为 \((N\_EDGES)\) 的int类型Tensor,表示COO边矩阵的目标节点索引。默认值:None。
n_nodes (int, 可选) - 图中节点数量。默认值:None。
n_edges (int, 可选) - 图中边数量。默认值:None。
ver_subgraph_idx (Tensor, 可选) - shape为 \((N\_NODES)\) 的int类型Tensor,指示每个节点属于哪个子图。默认值:None。
edge_subgraph_idx (Tensor, 可选) - shape为 \((N\_NODES,)\) 的int类型Tensor,指示每个边属于哪个子图。默认值:None。
graph_mask (Tensor, 可选) - shape为 \((N\_GRAPHS,)\) 的int类型Tensor,表示子图是否存在。默认值:None。
indices (Tensor, 可选) - shape为 \((N\_EDGES)\) 的int类型Tensor,CSR矩阵中的indices。默认值:None。
indptr (Tensor, 可选) - shape为 \((N\_NODES,)\) 的int类型Tensor,CSR矩阵中的indptr。默认值:None。
indices_backward (Tensor, 可选) - shape为 \((N\_EDGES)\) 的int类型Tensor,CSR矩阵中的预存的indices反向。默认值:None。
indptr_backward (Tensor, 可选) - shape为 \((N\_NODES,)\) 的int类型Tensor,CSR矩阵中的预存的indptr反向。默认值:None。
csr (bool, 可选) - 是否为CSR类型。默认值:False。
- 支持平台:
Ascend
GPU
样例:
>>> import mindspore as ms >>> from mindspore_gl import BatchedGraphField >>> n_nodes = 9 >>> n_edges = 11 >>> src_idx = ms.Tensor([0, 2, 2, 3, 4, 5, 5, 6, 8, 8, 8], ms.int32) >>> dst_idx = ms.Tensor([1, 0, 1, 5, 3, 4, 6, 4, 8, 8, 8], ms.int32) >>> ver_subgraph_idx = ms.Tensor([0, 0, 0, 1, 1, 1, 1, 2, 2], ms.int32) >>> edge_subgraph_idx = ms.Tensor([0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2], ms.int32) >>> graph_mask = ms.Tensor([1, 1, 0], ms.int32) >>> batched_graph_field = BatchedGraphField(src_idx, dst_idx, n_nodes, n_edges, ... ver_subgraph_idx, edge_subgraph_idx, graph_mask) >>> print(batched_graph_field.get_batched_graph()) [Tensor(shape=[11], dtype=Int32, value= [0, 2, 2, 3, 4, 5, 5, 6, 8, 8, 8]), Tensor(shape=[11], dtype=Int32, value= [1, 0, 1, 5, 3, 4, 6, 4, 8, 8, 8]), 9, 11, Tensor(shape=[9], dtype=Int32, value= [0, 0, 0, 1, 1, 1, 1, 2, 2]), Tensor(shape=[11], dtype=Int32, value= [0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2]), Tensor(shape=[3], dtype=Int32, value= [1, 1, 0])]