BeliefPropagation for MarkovNetwork error

35 Views Asked by At

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

0

There are 0 best solutions below