I have the following problem. I have a graph with 175 nodes and 892 edges. I was trying to use MarkovNetwork and BeliefPropagation function, but I have the following problem: "cannot reshape array of size 0 into shape (2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2)" My code is
adjacency_matrix = data.to_numpy()
num_nodes = 175
mrf_model = MarkovNetwork()
# Add nodes
for i in range(num_nodes):
mrf_model.add_node(i)
# Add edges based on adjacency matrix
for i in range(num_nodes):
for j in range(i + 1, num_nodes):
if adjacency_matrix[i, j] == 1:
mrf_model.add_edge(i, j)
for edge in mrf_model.edges():
factor = DiscreteFactor(edge, cardinality=[2, 2], values=np.random.rand(4))
mrf_model.add_factors(factor)
inference = BeliefPropagation(mrf_model)
data contains my adjacency matrix as pandas read from csv
I was expecting BeliefPropagation function to execute accurately. The arror appears in self.values = values.reshape(tuple(self.cardinality)). check_model command does not indicate any issue