def test_graph_crf_loss_augment(): x = (x_1, g_1) y = y_1 crf = GraphCRF() crf.initialize([x], [y]) y_hat, energy = crf.loss_augmented_inference(x, y, w, return_energy=True) # check that y_hat fulfills energy + loss condition assert_almost_equal(np.dot(w, crf.joint_feature(x, y_hat)) + crf.loss(y, y_hat), -energy)
def test_initialize(): x = (x_1, g_1) y = y_1 crf = GraphCRF(n_states=2, n_features=2) # no-op crf.initialize([x], [y]) #test initialization works crf = GraphCRF() crf.initialize([x], [y]) assert_equal(crf.n_states, 2) assert_equal(crf.n_features, 2) crf = GraphCRF(n_states=3) assert_raises(ValueError, crf.initialize, X=[x], Y=[y])