コード例 #1
0
ファイル: test_saveload.py プロジェクト: im281/lmfit-py
def test_save_load_modelresult(dill):
    """Save/load ModelResult with/without dill."""
    if dill:
        pytest.importorskip("dill")
    else:
        lmfit.jsonutils.HAS_DILL = False

    # create model, perform fit, save ModelResult and perform some tests
    model, params = create_model_params(x, y)
    result = model.fit(y, params, x=x)
    save_modelresult(result, SAVE_MODELRESULT)

    file_exists = wait_for_file(SAVE_MODELRESULT, timeout=10)
    assert file_exists

    text = ''
    with open(SAVE_MODELRESULT, 'r') as fh:
        text = fh.read()
    assert_between(len(text), 8000, 25000)

    # load the saved ModelResult from file and compare results
    result_saved = load_modelresult(SAVE_MODELRESULT)
    check_fit_results(result_saved)

    clear_savefile(SAVE_MODEL)
コード例 #2
0
ファイル: test_saveload.py プロジェクト: lmfit/lmfit-py
def test_save_load_modelresult(dill):
    """Save/load ModelResult with/without dill."""
    if dill:
        pytest.importorskip("dill")
    else:
        lmfit.jsonutils.HAS_DILL = False

    # create model, perform fit, save ModelResult and perform some tests
    model, params = create_model_params(x, y)
    result = model.fit(y, params, x=x)
    save_modelresult(result, SAVE_MODELRESULT)

    file_exists = wait_for_file(SAVE_MODELRESULT, timeout=10)
    assert file_exists

    text = ''
    with open(SAVE_MODELRESULT, 'r') as fh:
        text = fh.read()
    assert_between(len(text), 8000, 25000)

    # load the saved ModelResult from file and compare results
    result_saved = load_modelresult(SAVE_MODELRESULT)
    check_fit_results(result_saved)

    clear_savefile(SAVE_MODEL)
コード例 #3
0
ファイル: test_saveload.py プロジェクト: schachmett/lmfit-py
def do_save_model(with_dill=True):
    x, y = XDAT, YDAT
    if DILL_AVAILABLE and with_dill:
        lmfit.jsonutils.HAS_DILL = True
    else:
        lmfit.jsonutils.HAS_DILL = False

    model, params = create_model_params(x, y)

    save_model(model, SAVE_MODEL)
    file_exists = wait_for_file(SAVE_MODEL, timeout=10)
    assert (file_exists)

    text = ''
    with open(SAVE_MODEL, 'r') as fh:
        text = fh.read()
    assert_between(len(text), 1000, 2500)
コード例 #4
0
ファイル: test_saveload.py プロジェクト: elikalin/lmfit-py
def do_save_modelresult(with_dill=True):
    x, y = XDAT, YDAT
    if DILL_AVAILABLE and with_dill:
        lmfit.jsonutils.HAS_DILL = True
    else:
        lmfit.jsonutils.HAS_DILL = False

    model, params = create_model_params(x, y)

    result = model.fit(y, params, x=x)
    save_modelresult(result, SAVE_MODELRESULT)
    file_exists = wait_for_file(SAVE_MODELRESULT, timeout=10)
    assert(file_exists)

    text = ''
    with open(SAVE_MODELRESULT, 'r') as fh:
        text = fh.read()
    assert_between(len(text), 8000, 25000)
コード例 #5
0
ファイル: test_saveload.py プロジェクト: elikalin/lmfit-py
def check_fit_results(result):
    assert(result.nvarys == 8)
    assert_between(result.chisqr,  1000, 1500)
    assert_between(result.aic,  400, 450)

    pars = result.params
    assert_param_between(pars['exp_decay'], 90, 92)
    assert_param_between(pars['exp_amplitude'], 98, 101)
    assert_param_between(pars['g1_sigma'], 16, 17)
    assert_param_between(pars['g1_center'], 106, 109)
    assert_param_between(pars['g1_amplitude'], 4100, 4500)
    assert_param_between(pars['g1_fwhm'], 38, 42)
    assert_param_between(pars['g1_height'], 100, 103)

    assert_param_between(pars['g2_sigma'],    10, 15)
    assert_param_between(pars['g2_center'],  150, 160)
    assert_param_between(pars['g2_amplitude'], 2100, 2900)
    assert_param_between(pars['g2_fwhm'], 30, 34)
    assert_param_between(pars['g2_height'], 70, 75)
コード例 #6
0
ファイル: test_saveload.py プロジェクト: lmfit/lmfit-py
def check_fit_results(result):
    """Check the result of optimization."""
    assert result.nvarys == 8
    assert_between(result.chisqr, 1000, 1500)
    assert_between(result.aic, 400, 450)

    pars = result.params
    assert_param_between(pars['exp_decay'], 90, 92)
    assert_param_between(pars['exp_amplitude'], 98, 101)

    assert_param_between(pars['g1_sigma'], 16, 17)
    assert_param_between(pars['g1_center'], 106, 109)
    assert_param_between(pars['g1_amplitude'], 4100, 4500)
    assert_param_between(pars['g1_fwhm'], 38, 42)
    assert_param_between(pars['g1_height'], 100, 103)

    assert_param_between(pars['g2_sigma'], 10, 15)
    assert_param_between(pars['g2_center'], 150, 160)
    assert_param_between(pars['g2_amplitude'], 2100, 2900)
    assert_param_between(pars['g2_fwhm'], 30, 34)
    assert_param_between(pars['g2_height'], 70, 75)