def test_linreg_20_test(self): X, y = gen_regression_data() args = Args(data_set="./out/lin.p", solution="./out/lin-sol.p", engine="linreg") mlak.set_preferred_engine(args.engine) with CapturedStdout() as out: mlak.test(args) self.assertAlmostEqual(float(out.getvalue()), 7.117094744250965e-06)
def test_keras_20_test(self): X, y = gen_regression_data() args = Args(data_set="./out/keras.p", solution="./out/keras-sol.p", engine="keras") mlak.set_preferred_engine(args.engine) with CapturedStdout() as out: mlak.test(args) self.assertEqual(out.getvalue(), "0.0\n")
def test_struggle_10_train(self): X, y = gen_logistic_data() dio.save("./out/struggle.p", {"X": X, "y": y}) args = Args(data_set="./out/struggle.p", solution="./out/struggle-sol.p", topology=["10"], Lambda="0.1", iterations=1, engine="struggle") mlak.set_preferred_engine(args.engine) with CapturedStdout(): mlak.train(args) with CapturedStdout() as out: mlak.test(args) self.assertEqual(out.getvalue(), "0.5706666666666667\n") solution = dio.load("./out/struggle-sol.p") npt.assert_equal(solution.shaper()._classesIdToLabel, ["diamond", "drill", "ripple"]) npt.assert_equal(solution.model()[0], [256, 10, 3]) t = solution.model()[1] npt.assert_almost_equal([np.sum( t[0]), np.sum(t[1]), np.sum(t[2])], [0.14382, 0.0245429, -0.132043]) self.assertAlmostEqual(np.sum(solution.shaper().mu()), 205.85431033692913) self.assertAlmostEqual(np.sum(solution.shaper().sigma()), 296.5719143203778) fix_random() args.iterations = 9 with CapturedStdout(): mlak.train(args) with CapturedStdout() as out: mlak.test(args) self.assertEqual(out.getvalue(), "0.0\n") solution = dio.load("./out/struggle-sol.p") npt.assert_equal(solution.shaper()._classesIdToLabel, ["diamond", "drill", "ripple"]) npt.assert_equal(solution.model()[0], [256, 10, 3]) t = solution.model()[1] npt.assert_almost_equal([np.sum( t[0]), np.sum(t[1]), np.sum(t[2])], [0.3095417, -0.0072933, -0.1675103]) self.assertAlmostEqual(np.sum(solution.shaper().mu()), 205.85431033692913) self.assertAlmostEqual(np.sum(solution.shaper().sigma()), 296.5719143203778)
def test_logreg_10_train(self): X, y = gen_logistic_data() dio.save("./out/log.p", {"X": X, "y": y}) args = Args(data_set="./out/log.p", solution="./out/log-sol.p", topology=[], Lambda="0.1", iterations=1, engine="logreg") mlak.set_preferred_engine(args.engine) with CapturedStdout(): mlak.train(args) with CapturedStdout() as out: mlak.test(args) self.assertEqual(out.getvalue(), "0.2666666666666667\n") solution = dio.load("./out/log-sol.p") npt.assert_equal(solution.shaper()._classesIdToLabel, ["diamond", "drill", "ripple"]) self.assertEqual(len(solution.model()), 3) npt.assert_almost_equal(np.sum(solution.model(), axis=1), [15.9547132, -0.9575446, -4.9745893]) self.assertAlmostEqual(np.sum(solution.shaper().mu()), 205.85431033692913) self.assertAlmostEqual(np.sum(solution.shaper().sigma()), 296.5719143203778) fix_random() args.iterations = 9 with CapturedStdout(): mlak.train(args) with CapturedStdout() as out: mlak.test(args) self.assertEqual(out.getvalue(), "0.0\n") solution = dio.load("./out/log-sol.p") npt.assert_equal(solution.shaper()._classesIdToLabel, ["diamond", "drill", "ripple"]) self.assertEqual(len(solution.model()), 3) npt.assert_almost_equal(np.sum(solution.model(), axis=1), [20.5073757, -13.1428356, -10.8690069]) self.assertAlmostEqual(np.sum(solution.shaper().mu()), 205.85431033692913) self.assertAlmostEqual(np.sum(solution.shaper().sigma()), 296.5719143203778)