def test_io_score_t1t2(): rng = irm.RNG() for D1_N, D2_N in [(10, 20), (20, 30), (200, 300)]: for model_name in ["BetaBernoulliNonConj", "LogisticDistance", "LinearDistance"]: d = {'domains' : {'d1' : {'N' : D1_N}, 'd2' : {'N' : D2_N}}, 'relations' : {'R1' : {'relation' : ('d1', 'd2'), 'model' : model_name}}} l = {} new_latent, new_data = data.synth.prior_generate(l, d) irm_model = irmio.create_model_from_data(new_data, rng=rng) irmio.set_model_latent(irm_model, new_latent, rng=rng) s1 = irm_model.total_score() extracted_latent = irmio.get_latent(irm_model) irm_model2 = irmio.create_model_from_data(new_data, rng=rng) irmio.set_model_latent(irm_model, extracted_latent, rng=rng) s2 = irm_model.total_score() np.testing.assert_approx_equal(s1, s2, 5)
def test_io_score_t1t2(): rng = irm.RNG() for D1_N, D2_N in [(10, 20), (20, 30), (200, 300)]: for model_name in ["BetaBernoulliNonConj", "LogisticDistance", "LinearDistance"]: d = { "domains": {"d1": {"N": D1_N}, "d2": {"N": D2_N}}, "relations": {"R1": {"relation": ("d1", "d2"), "model": model_name}}, } l = {} new_latent, new_data = data.synth.prior_generate(l, d) irm_model = irmio.create_model_from_data(new_data, rng=rng) irmio.set_model_latent(irm_model, new_latent, rng=rng) s1 = irm_model.total_score() extracted_latent = irmio.get_latent(irm_model) irm_model2 = irmio.create_model_from_data(new_data, rng=rng) irmio.set_model_latent(irm_model, extracted_latent, rng=rng) s2 = irm_model.total_score() np.testing.assert_approx_equal(s1, s2, 5)
def test_simple_nonconj_inout(): rng = irm.RNG() irm_model = irmio.create_model_from_data(data_simple_nonconj, rng=rng) irmio.set_model_latent(irm_model, latent_simple_nonconj, rng=rng) latent = irmio.get_latent(irm_model) irmio.latent_equality(latent_simple_nonconj, latent, data_simple_nonconj)