我试图为一个非常大的图(~1m 个节点)的每个节点计算共享邻居的数量。使用 Joblib 我试图并行运行它。但我担心并行写入稀疏矩阵,它应该保留所有数据。这段代码会产生一致的结果吗?
vNum = 1259084
NN_Matrix = csc_matrix((vNum, vNum), dtype=np.int8)
def nn_calc_parallel(node_id = None):
i, j = np.unravel_index(node_id, (1259084, 1259084))
NN_Matrix[i, j] = len(np.intersect1d(nx.neighbors(G, i), nx.neighbors(G,j)))
num_cores = multiprocessing.cpu_count()
result = Parallel(n_jobs=num_cores)(delayed(nn_calc_parallel)(i) for i in xrange(vNum**2))
如果没有,你能帮我解决这个问题吗?