2012-03-27 8 views
2

~ 100k 개의 가장자리와 ~ 7000 개의 노드로 구성된 상대적으로 작은 데이터 세트가 있습니다. 두 개의 알고리즘을 사용하여 데이터 집합 내의 커뮤니티를 찾으려고합니다. I는 가장자리를 첨가하고, 여기에 구현 된 알고리즘을 실행하는 것을 계속 :작은 데이터 세트의 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

나는이 오래된 질문이지만 communities 같은 알고리즘을 처리 할 때 NetworkX 여전히 특히 메모리 문제가 알고 있습니다.

체크 아웃graph-tool을 확인하십시오.

graph-tool과 아무 관련이 없습니다. 대규모 네트워크에서 알고리즘을 실행한다는 측면에서 저에게 메모리 문제를 해결했습니다.

nodes에서 integers으로 변환을 시도해보십시오. 나는 문자열로 표시된 노드가 많은 메모리를 차지할 수 있다는 것을 발견했다.

해피 네트워킹

관련 문제