
Что я хочу сделать с этим графиком, так это применить некоторый алгоритм машинного обучения после загрузки его в StellarGraph, поэтому я Я использую код NetworkNx, чтобы попытаться создать график, поскольку StellarGraph может загружать графики непосредственно из NetworkNx.
Поскольку создать весь график сразу было бы слишком сложно, я попробовал создать график пакетами , вот код для создания графика для слоя 1:
Код: Выделить всё
file = uproot.open("file.root")
tree = file["data"]
# Get the Event branches
hits = tree["Nhit"].array()
i_pos_arrays = tree["I"].array()
j_pos_arrays = tree["J"].array()
layers = tree["K"].array()
node_index = 1
graph = nx.Graph()
previous = []
layer = 1
start_time = time.time()
for hits, x, y, z in zip(hits, i_pos_arrays,j_pos_arrays,layers):
sorted_indices = np.argsort(z)
x = x[sorted_indices]
y = y[sorted_indices]
z = z[sorted_indices]
for i in range(hits):
if(z[i] == layer):
#node_attributes = {'x': x[i], 'y': y[i] ,'z':z[i]}
graph.add_node(node_index)
# graph.nodes[node_index].update(node_attributes) # Luego actualizar atributos
if previous:
for pre_graphs in previous:
graph.add_edge(pre_graphs, node_index)
previous.append(node_index)
else:
previous.append(node_index)
node_index = node_index + 1
Проблема: Мне просто не хватает памяти при создании графика (16 ГБ ОЗУ), поэтому я хочу знать, какие еще инструменты или методы я могу использовать для достижения своей цели.
Подробнее здесь: https://stackoverflow.com/questions/791 ... machine-le