當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。