4

ネットワークを表す csv/txt ファイルであるデータ セットがあります。ファイルの各行には、コンマで区切られた 2 つのノード名が含まれています。私のデータ ファイルは、約 330,000 個のノードと約 550,000 個のエッジに接続しています。次のコードを使用して、これの非常に初歩的なグラフを作成しようとしています (はい、非常に雑然としていることはわかっています)。

import networkx as nx
import matplotlib.pyplot as plt
import sys
import numpy as np

f = open('dataFile.txt', 'rb')
G = nx.read_edgelist(f, delimiter=',', nodetype=str)
f.close()

print(nx.number_of_nodes(G))
print(nx.number_of_edges(G))

plt.figure(1)
nx.draw(G)
plt.savefig("graph.pdf")

これを AWS EC2 m4.4xlarge インスタンスで実行していますが、CPU の 100% とメモリのわずか 1% で固定されています。

networkx は CPU を大量に消費するのではなく、メモリを大量に消費すると思っていたので、私は懐疑的です。現在、nx.draw コマンドで回転しています。グラフ生成のどこまで進んでいるかを監視する方法はありますか?

4

2 に答える 2