Example #1
0
def test_xnes_quadratic():
    obj = Quadratic()
    opt = Xnes(obj.pars, obj.f)
    for i, info in enumerate(opt):
        if i > 5000:
            break
    assert obj.solved(), 'did not find solution'
Example #2
0
def test_asgd_quadratic():
    obj = Quadratic()
    opt = Asgd(obj.pars, obj.fprime, eta0=0.01, lmbd=0.2, t0=0.01)
    for i, info in enumerate(opt):
        if i > 10000:
            break
    assert obj.solved(0.1), 'did not find solution'
Example #3
0
def test_gd_quadratic():
    obj = Quadratic()
    opt = GradientDescent(obj.pars, obj.fprime, step_rate=0.01, momentum=.9)
    for i, info in enumerate(opt):
        if i > 500:
            break
    assert obj.solved(), 'did not find solution'
Example #4
0
def test_lbfgs_quadratic():
    obj = Quadratic()
    opt = Lbfgs(obj.pars, obj.f, obj.fprime)
    for i, info in enumerate(opt):      
        if i > 50:
            break
    assert obj.solved(), 'did not find solution'
Example #5
0
def test_ncg_quadratic():
    obj = Quadratic()
    opt = NonlinearConjugateGradient(obj.pars, obj.f, obj.fprime)
    for i, info in enumerate(opt):      
        if i > 50:
            break
    assert obj.solved(), 'did not find solution'
Example #6
0
def test_bfgs_quadratic():
    obj = Quadratic()
    opt = Bfgs(obj.pars, obj.f, obj.fprime)
    for i, info in enumerate(opt):      
        if i > 50:
            break
    assert obj.solved(), 'did not find solution'
Example #7
0
def test_cg_explicit_hessian():
    obj = Quadratic()
    opt = ConjugateGradient(obj.pars, obj.H, obj.b)
    for i, info in enumerate(opt):
        if i > 10:
            break
    assert obj.solved()
Example #8
0
def test_xnes_quadratic():
    obj = Quadratic()
    opt = Xnes(obj.pars, obj.f)
    for i, info in enumerate(opt):
        if i > 5000:
            break
    assert obj.solved(), "did not find solution"
Example #9
0
def test_ncg_quadratic():
    obj = Quadratic()
    opt = NonlinearConjugateGradient(obj.pars, obj.f, obj.fprime)
    for i, info in enumerate(opt):
        if i > 50:
            break
    assert obj.solved(), 'did not find solution'
Example #10
0
def test_nesterov_quadratic():
    obj = Quadratic()
    opt = Nesterov(obj.pars, obj.fprime, steprate=0.01)
    for i, info in enumerate(opt):      
        if i > 750:
            break
    assert obj.solved(), 'did not find solution'
Example #11
0
def test_asgd_quadratic():
    obj = Quadratic()
    opt = Asgd(obj.pars, obj.fprime, eta0=0.01, lmbd=0.2, t0=0.01)
    for i, info in enumerate(opt):
        if i > 10000:
            break
    assert obj.solved(0.1), 'did not find solution'
Example #12
0
def test_cg_preconditioning():
    obj = Quadratic()
    precond = np.array([[1,0], [0, 1e-2]])
    opt = ConjugateGradient(obj.pars, obj.H, obj.b, precond=precond)
    for i, info in enumerate(opt):
        if i > 10:
            break
    assert obj.solved()
Example #13
0
def test_rprop_quadratic():
    obj = Quadratic()
    opt = Rprop(obj.pars, obj.f, obj.fprime, step_shrink=0.1, step_grow=1.2,
                min_step=1e-6, max_step=0.1)
    for i, info in enumerate(opt):      
        if i > 500:
            break
    assert obj.solved(), 'did not find solution'
Example #14
0
def test_gd_quadratic():
    obj = Quadratic()
    opt = GradientDescent(
        obj.pars, obj.fprime, step_rate=0.01, momentum=.9)
    for i, info in enumerate(opt):
        if i > 500:
            break
    assert obj.solved(), 'did not find solution'
Example #15
0
def test_cg_implicit_hessian():
    obj = Quadratic()
    def f_Hp(p):
        return obj.f_Hp(obj.pars, p)
    opt = ConjugateGradient(obj.pars, f_Hp=f_Hp, b=obj.b)
    for i, info in enumerate(opt):
        if i > 10:
            break
    assert obj.solved()
Example #16
0
def test_smd_quadratic():
    obj = Quadratic()
    # TODO: I don't know why these parameters work, but they do.
    opt = Smd(obj.pars, obj.f, obj.fprime, obj.f_Hp, eta0=1e-1, mu=2e-4,
        lmbd=.5)
    for i, info in enumerate(opt):      
        print obj.pars
        if i > 100:
            break
    assert obj.solved(), 'did not find solution'
Example #17
0
def test_rprop_quadratic():
    obj = Quadratic()
    opt = Rprop(obj.pars,
                obj.fprime,
                step_shrink=0.1,
                step_grow=1.2,
                min_step=1e-6,
                max_step=0.1)
    for i, info in enumerate(opt):
        if i > 500:
            break
    assert obj.solved(), 'did not find solution'