예제 #1
0
def test_ncg_rosen():
    obj = Rosenbrock()
    opt = NonlinearConjugateGradient(obj.pars, obj.f, obj.fprime)
    for i, info in enumerate(opt):
        if i > 14:
            break
    assert obj.solved(), 'did not find solution'
예제 #2
0
def test_bfgs_rosen():
    obj = Rosenbrock()
    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'
예제 #3
0
def test_xnes_rosen():
    obj = Rosenbrock()
    opt = Xnes(obj.pars, obj.f)
    for i, info in enumerate(opt):
        if i > 10000:
            break
    assert obj.solved(0.3), 'did not find solution'
예제 #4
0
def test_ncg_rosen():
    obj = Rosenbrock()
    opt = NonlinearConjugateGradient(obj.pars, obj.f, obj.fprime)
    for i, info in enumerate(opt):      
        if i > 14:
            break
    assert obj.solved(), 'did not find solution'
예제 #5
0
def test_lbfgs_rosen():
    obj = Rosenbrock()
    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'
예제 #6
0
def test_xnes_rosen():
    obj = Rosenbrock()
    opt = Xnes(obj.pars, obj.f)
    for i, info in enumerate(opt):
        if i > 10000:
            break
    assert obj.solved(0.3), "did not find solution"
예제 #7
0
파일: test_rprop.py 프로젝트: osdf/climin
def test_rprop_rosen():
    obj = Rosenbrock()
    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 > 5000:
            break
    assert obj.solved(), 'did not find solution'
예제 #8
0
def test_rprop_rosen():
    obj = Rosenbrock()
    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 > 5000:
            break
    assert obj.solved(), 'did not find solution'
예제 #9
0
def test_smd_rosen():
    obj = Rosenbrock()
    opt = Smd(obj.pars, obj.f, obj.fprime, obj.f_Hp, eta0=2e-3, lmbd=0.9)
    for i, info in enumerate(opt):      
        if i > 5000:
            break
    assert ((1 - obj.pars) < 0.01).all(), 'did not find solution'
예제 #10
0
def test_gd_rosen():
    obj = Rosenbrock()
    opt = GradientDescent(obj.pars, obj.fprime, step_rate=0.01, momentum=.9)
    for i, info in enumerate(opt):
        if i > 5000:
            break
    assert ((1 - obj.pars) < 0.01).all(), 'did not find solution'
예제 #11
0
def test_asgd_rosen():
    obj = Rosenbrock()
    opt = Asgd(obj.pars, obj.fprime, eta0=2e-3, t0=1)
    for i, info in enumerate(opt):
        if i > 100000:
            break
    assert ((1 - obj.pars) < 0.01).all(), 'did not find solution'