Source code for mrftools.util

"""Miscellaneous utility functions and classes"""
import time

import matplotlib.pyplot as plt
import numpy as np
from scipy.optimize import minimize
from .ConvexBeliefPropagator import ConvexBeliefPropagator


[docs]def instantiate_convex_map(self, model): """ Instantiate convex belief propagators with temperatures that force numerical MAP inference :param model: MarkovNet model to perform inference on :return: ConvexBeliefPropagator with low counting numbers """ default_counting_numbers = dict() for var in model.variables: default_counting_numbers[var] = 0.1 for neighbor in model.neighbors[var]: if var < neighbor: default_counting_numbers[(var, neighbor)] = 0.1 bp = ConvexBeliefPropagator(model, default_counting_numbers)