def test_gradient_games1(self): o = Optimizer(rand_seed=239, time_delta=0.01, func_hard_reg=0, func_soft_reg=0) o.load_games(GAMES1) v = o.init() grad = o.gradient(v) for i in range(len(v)): def ocomp(x): save_x = v[i] v[i] = x res = o.objective(v) v[i] = save_x return res self.assertAlmostEqual(derivative(ocomp, v[i]), grad[i])
def test_gradient(self): o = Optimizer(func_hard_reg=0, func_soft_reg=0, time_delta=0, rating_reg=0) o.load_games([(1, 2, 1, 1)]) v = o.create_vars({1: {1: 2200}, 2: {1: 1800}}, (0, -1.01)) def o0(x): save_x = v[0] v[0] = x res = o.objective(v) v[0] = save_x return res def o1(x): save_x = v[1] v[1] = x res = o.objective(v) v[1] = save_x return res self.assertAlmostEqual(derivative(o0, v[0]), o.gradient(v)[0]) self.assertAlmostEqual(derivative(o1, v[1]), o.gradient(v)[1])