微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

内存错误在NetworkX中创建大图

如何解决内存错误在NetworkX中创建大图

我已决定使用Python处理图形。我使用NetworkX加载边缘列表以构建图形。当我尝试使用nx.read_edgelist加载边缘时,我收到了MemoryError

该图有400万个节点和3,400万条边,我的电脑有12GB的RAM。可以将该图加载到12GB吗?有什么最佳解决方案吗?

解决方法

NetworkX使用字典来实现图形数据结构。每个边缘至少使用100个字节的内存。因此,如果边缘有3400万个,则可能需要超过40 GB。

一种解决方案是使用云计算并根据需要扩展内存。

NetworkX的替代方法是graph-tool,它是一个Python模块,可在C ++中实现核心数据结构和算法。

另请参见

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。