2012-03-27 55 views
2

我有一个相对较小的数据集,包含〜100k个边和〜7000个节点。我正在尝试使用两种算法来查找我的数据集中的社区。我加入的边,并着手运行在这里实施的算法:http://perso.crans.org/aynaud/communities/#as-python-module在小数据集上的Python网络x内存错误

数据基本如下:

节点1,节点2

节点1被连接到节点2并且是无向图。

但程序只是运行了一下,然后给我一个内存错误。我知道它是有效的,因为我在一个小的数据集上测试了它,它能正常工作,但它给我一个内存错误。我对这些算法并不了解,但我的印象是,我拥有的数据集非常小,我正在个人家用计算机上运行它。这只是实现本身的一个问题,还是由于我的机器的限制?

除了在具有更多内存的服务器上运行它之外,您有没有想过如何让它工作(即另一种软件或算法)?

谢谢!

回溯:

Traceback (most recent call last): 
    File "<wingdb_compile>", line 65, in <module> 
    File "C:\Python27\lib\site-packages\networkx\drawing\layout.py", line 242, in fruchterman_reingold_layout 
    pos=_fruchterman_reingold(A,dim,pos_arr,fixed,iterations) 
    File "C:\Python27\lib\site-packages\networkx\drawing\layout.py", line 280, in _fruchterman_reingold 
    delta = np.zeros((pos.shape[0],pos.shape[0],pos.shape[1]),dtype=A.dtype) 
MemoryError 
+0

追溯请。 – kristaps 2012-03-27 17:51:37

+0

确定添加了追踪 – Paul 2012-03-27 18:04:14

+0

@Paul:尝试绘制网络时似乎发生错误。如果您不需要绘制,请移除这些部分,再试一次,看看是否出现错误。 – Avaris 2012-03-27 20:49:46

回答

1

我意识到这是一个老问题,但NetworkX与像communities算法打交道时仍然有内存问题尤为明显。

结帐graph-tool。这是一个python包,比NetworkX

拥有更快的性能我不隶属于graph-tool。它在大型网络上运行算法方面解决了我的内存问题。

尝试转换你的nodesintegers如果你还没有这样做。我发现标记为字符串的节点可能占用大量内存。

开心网络