当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python mxnet.symbol.contrib.dgl_csr_neighbor_uniform_sample用法及代码示例


用法:

mxnet.symbol.contrib.dgl_csr_neighbor_uniform_sample(*seed_arrays, **kwargs)

参数

  • csr_matrix(Symbol) - csr 矩阵
  • seed_arrays(Symbol[]) - 种子顶点
  • num_hops(long, optional, default=1) - 跳数。
  • num_neighbor(long, optional, default=2) - 邻居数。
  • max_num_vertices(long, optional, default=100) - 最大顶点数。
  • name(string, optional.) - 结果符号的名称。

返回

结果符号。

返回类型

Symbol

此运算符通过统一概率从 csr 图中采样 sub-graphs。该运算符专为 DGL 设计。

算子输出三组 NDArrays 来表示采样结果(每组 NDArrays 的数量与种子 NDArrays 的数量相同):1)一组包含采样顶点的 1D NDArrays,2)一组 CSRNDArrays 表示采样的边,3) 一组 1D NDArrays,指示采样顶点的层。第一组 1D NDArray 的长度为 max_num_vertices+1。 NDArray 中的最后一个元素表示子图中顶点的实际数量。第三组NDArray的长度为max_num_vertices,有效顶点数与第一组相同。

示例

shape = (5, 5)
data_np = np.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20], dtype=np.int64)
indices_np = np.array([1,2,3,4,0,2,3,4,0,1,3,4,0,1,2,4,0,1,2,3], dtype=np.int64)
indptr_np = np.array([0,4,8,12,16,20], dtype=np.int64)
a = mx.nd.sparse.csr_matrix((data_np, indices_np, indptr_np), shape=shape)
a.asnumpy()
seed = mx.nd.array([0,1,2,3,4], dtype=np.int64)
out = mx.nd.contrib.dgl_csr_neighbor_uniform_sample(a, seed, num_args=2, num_hops=1, num_neighbor=2, max_num_vertices=5)

out[0]
[0 1 2 3 4 5]
<NDArray 6 @cpu(0)>

out[1].asnumpy()
array([[ 0,  1,  0,  3,  0],
       [ 5,  0,  0,  7,  0],
       [ 9,  0,  0, 11,  0],
       [13,  0, 15,  0,  0],
       [17,  0, 19,  0,  0]])

out[2]
[0 0 0 0 0]
<NDArray 5 @cpu(0)>

相关用法


注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.symbol.contrib.dgl_csr_neighbor_uniform_sample。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。