在Python 2.7上使用Networkx,我一直在试图建立一个约2M用户和880M边缘的图。我正在使用包含边缘列表的大约17Gb的文本文件。 我试过使用函数nx.read_edgelist(),但使用大约250Gb或RAM(我正在远程服务器上工作)后,我的程序被杀害。为什么Networkx会占用我所有的内存?
我的问题是:networkx使用那么多内存是否正常?或者,也许我收集数据时出错了? 我一直在考虑使用另一个库,我发现这两个iGraph和图形工具看起来非常有效。有人会有任何建议吗?
谢谢!
编辑:我的文件实际上包含880M的边缘,而不是88M
科拉斯嗨固定 - 我给了一个答案,但不是100%肯定它是正确的。通常我会使用评论,但这太长了。如果解决这个问题(或不解决问题),请让我知道,以便我可以适当地编辑/删除我的答案。 – Joel
您好,Joel,非常感谢您的回答! 我目前正在尝试你的解决方案,当然我会让你更新(计算通常需要很长时间,我可能会在星期一给你一个结果)。 然而,我应该纠正我自己的问题:我实际上处理880M边缘(我在阅读时跳过了0),这可能解释我的困难... –