2012-03-27 19 views
2

私は、〜100kの辺と〜7000のノードで構成される比較的小さなデータセットを持っています。私は私のデータセット内のコミュニティを見つけるために2つのアルゴリズムを使用しようとしています。私はエッジを加え、ここに実装されたアルゴリズムを実行するために進め:小さなデータセットのPython networkxメモリエラー

ノード1、ノード2

ノード1はノード2に接続され、グラフが無向である次のようhttp://perso.crans.org/aynaud/communities/#as-python-module

データは基本的です。

しかし、ちょっとだけプログラムが実行されて、メモリエラーが発生します。小さなデータセットでテストして正常に動作するため、動作していることが分かりますが、メモリエラーが発生しています。私はこれらのアルゴリズムについてはあまりよく分かりませんが、私が持っているデータセットは実際には小さく、個人の家庭用コンピュータで実行しているという印象を受けました。これは実装そのものに問題があるのでしょうか、私のマシンの限界のためですか?

メモリを大量に搭載したサーバーで実行する以外に、これを動作させる方法(ソフトウェアやアルゴリズムなど)を考えている人はいますか?

ありがとうございます!

トレースバック:

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

+0

Okが追加されたトレースバック – Paul

+0

@Paul:ネットワークを描画しようとしているときにエラーが発生しているようです。ドローする必要がない場合は、それらの部分を削除してから、もう一度試して、エラーが発生したかどうかを確認してください。 – Avaris

答えて

1

私は、これは古い質問ですが、実現NetworkXはまだcommunitiesのようなアルゴリズムを扱う場合は特にメモリの問題があります。

チェックアウトgraph-toolを参照してください。これは、

私はgraph-toolと提携していませんより速い性能を誇るpythonパッケージです。それは、大規模なネットワーク上でアルゴリズムを実行するという点で私にとってメモリの問題を解決しました。

nodesからintegersに変換してください。私は、文字列としてラベル付けされたノードが大量のメモリを占めることがあることを発見しました。

ハッピーネットワーク

関連する問題