我有一个由90.000个节点和200.000个边组成的gml文件(~20 of )。对于每个节点,都有一个id和12个字符串的label。我想用networkx打开这个图,但是返回:
Traceback (most recent call last):
File "myfile.py", line 166, in <module>
G = nx.read_gml('mygraph.gml', relabel = True)
File "<string>", line 2, in read_gml
File "C:\Python27\lib\site-packages\networkx\utils\decorators.py", line 263, i
n _open_file
result = func(*new_args, **kwargs)
File "C:\Python27\lib\site-packages\networkx\readwrite\gml.py", line 85, in re
ad_gml
G=parse_gml(lines,relabel=relabel)
File "C:\Python27\lib\site-packages\networkx\readwrite\gml.py", line 173, in p
arse_gml
G.add_edge(source,target,attr_dict=vdict)
File "C:\Python27\lib\site-packages\networkx\classes\multigraph.py", line 261,
in add_edge
keydict={key:datadict}
MemoryError 是不是因为这些记忆不多?谁能提个建议吗?
发布于 2014-05-24 17:01:15
试试read_gml('mygraph.gml', relabel = False)。如果内存错误再次发生,那么您将确保networkx.read_gml函数不能应用于90.000多个节点和200.000个边的GML文件。
另一种选择可以是图形工具,可以尝试。
https://stackoverflow.com/questions/23847117
复制相似问题