mindspore_gl.GraphField

class mindspore_gl.GraphField(src_idx=None, dst_idx=None, n_nodes=None, n_edges=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。

  • 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 GraphField
>>> 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)
>>> graph_field = GraphField(src_idx, dst_idx, n_nodes, n_edges)
>>> print(graph_field.get_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]
get_graph()[源代码]

获取图。

返回:

List,Tensor的列表,被应用于构造函数。