def test_json_gzip_dependent_variable():
    from EvoDAG.command_line import params
    import gzip
    import tempfile
    import json
    import os
    os.environ['KLASS'] = 'dependent'
    fname = tempfile.mktemp() + '.gz'
    with gzip.open(fname, 'wb') as fpt:
        for x, y in zip(X, cl):
            a = {k: v for k, v in enumerate(x)}
            a['dependent'] = int(y)
            a['num_terms'] = len(x)
            try:
                fpt.write(bytes(json.dumps(a) + '\n', encoding='utf-8'))
            except TypeError:
                fpt.write(json.dumps(a) + '\n')
    print("termine con el json")
    sys.argv = [
        'EvoDAG', '-C', '-Poutput.evodag', '--json', '-e1', '-p3', '-r2', fname
    ]
    params()
    os.unlink(fname)
    print(open('output.evodag').read())
    os.unlink('output.evodag')
    default_nargs()
    del os.environ['KLASS']
def test_number_multiple_outputs_regression():
    import os
    from EvoDAG.command_line import params, train, predict
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-R', '--parameters', 'cache.evodag',
        '-p3', '-e1', '-r2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--output-dim=3',
        '--model', 'model.evodag', '--test', fname, fname
    ]
    train()
    sys.argv = [
        'EvoDAG', '--output', 'output.evodag', '--decision-function',
        '--model', 'model.evodag', fname
    ]
    predict()
    os.unlink(fname)
    os.unlink('cache.evodag')
    os.unlink('model.evodag')
    l = open('output.evodag').readline()
    os.unlink('output.evodag')
    default_nargs()
    assert len(l.split(',')) == 3
def test_utils_graphviz_terminals():
    import os
    from EvoDAG.command_line import params, train, utils
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '--parameters', 'cache.evodag', '-p3', '-e1', '-r2',
        fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--model',
        'model.evodag', '--test', fname, fname
    ]
    train()
    sys.argv = [
        'EvoDAG', '--output', 'output.evodag', '--decision-function', '-u2',
        '--model', 'model.evodag', fname
    ]
    sys.argv = [
        'EvoDAG', '-G', '-oevodag_gv', '--remove-terminals', 'model.evodag'
    ]

    utils()
    os.unlink(fname)
    os.unlink('cache.evodag')
    os.unlink('model.evodag')
    for i in range(2):
        os.unlink('evodag_gv/evodag-%s' % i)
    os.rmdir('evodag_gv')
    default_nargs()
def test_raw_outputs_classification():
    import os
    from EvoDAG.command_line import params, train, predict
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-C', '--parameters', 'cache.evodag',
        '-p3', '-e1', '-r2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--output-dim=3',
        '--model', 'model.evodag', '--test', fname, fname
    ]
    train()
    sys.argv = [
        'EvoDAG', '--output', 'output.evodag', '--raw-outputs', '--model',
        'model.evodag', fname
    ]
    predict()
    os.unlink(fname)
    os.unlink('cache.evodag')
    os.unlink('model.evodag')
    l = open('output.evodag').readline()
    os.unlink('output.evodag')
    default_nargs()
    assert len(l.split(',')) == 6
def test_multiple_outputs():
    from EvoDAG.command_line import params
    import gzip
    import tempfile
    import json
    fname = tempfile.mktemp() + '.gz'
    with gzip.open(fname, 'wb') as fpt:
        for x, y in zip(X, cl):
            a = {k: v for k, v in enumerate(x)}
            a['klass'] = int(y)
            a['num_terms'] = len(x)
            try:
                fpt.write(bytes(json.dumps(a) + '\n', encoding='utf-8'))
            except TypeError:
                fpt.write(json.dumps(a) + '\n')
    print("termine con el json")
    sys.argv = [
        'EvoDAG', '-C', '-Poutput.evodag', '--json', '-e1', '-p3', '-r2', fname
    ]
    params()
    os.unlink(fname)
    d = json.loads(open('output.evodag').read())
    assert d[0]['multiple_outputs']
    os.unlink('output.evodag')
    default_nargs()
def test_create_ensemble():
    import os
    from EvoDAG.command_line import params, train, utils
    from EvoDAG.model import Ensemble
    import pickle
    import gzip
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-R', '--parameters', 'cache.evodag',
        '-p3', '-e2', '-r2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n1', '--output-dim=3',
        '--seed=1', '--model', 'model.evodag.1', '--test', fname, fname
    ]
    train()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n1', '--output-dim=3',
        '--seed=2', '--model', 'model.evodag.2', '--test', fname, fname
    ]
    train()
    os.unlink('cache.evodag')
    sys.argv = [
        'EvoDAG', '--create-ensemble', '-omodel.evodag', '-n3',
        'model.evodag.* model.evodag.1'
    ]
    utils()
    os.unlink('model.evodag.1')
    os.unlink('model.evodag.2')
    with gzip.open('model.evodag', 'r') as fpt:
        ens = pickle.load(fpt)
    assert isinstance(ens, Ensemble)
    os.unlink('model.evodag')
    default_nargs()
Exemple #7
0
def test_utils_graphviz():
    import os
    from EvoDAG.command_line import params, train, utils
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '--parameters',
                'cache.evodag', '-p3', '-e1',
                '-r2', fname]
    params()
    sys.argv = ['EvoDAG', '--parameters', 'cache.evodag',
                '-n2',
                '--model', 'model.evodag',
                '--test', fname, fname]
    train()
    sys.argv = ['EvoDAG', '--output', 'output.evodag',
                '--decision-function',
                '-u2',
                '--model', 'model.evodag', fname]
    sys.argv = ['EvoDAG', '-G', '-oevodag_gv',
                'model.evodag']

    utils()
    os.unlink(fname)
    os.unlink('cache.evodag')
    os.unlink('model.evodag')
    for i in range(2):
        for j in range(3):
            os.unlink('evodag_gv/evodag-%s-%s.gv' % (i, j))
    os.rmdir('evodag_gv')
    default_nargs()
def test_logging():
    from EvoDAG.command_line import params
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-R', '--parameters', 'cache.evodag',
        '--verbose=0', '-p3', '-e2', '-r2', fname
    ]
    params()
Exemple #9
0
def test_cpu_cores():
    import os
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '-u2', '--parameters',
                'cache.evodag.gz', '-p3', '-e2', '-r', '2', fname]
    params()
    assert os.path.isfile('cache.evodag.gz')
    os.unlink('cache.evodag.gz')
    os.unlink(fname)
def test_cpu_cores():
    import os
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '-u2', '--parameters', 'cache.evodag.gz', '-p3', '-e2',
        '-r', '2', fname
    ]
    params()
    assert os.path.isfile('cache.evodag.gz')
    os.unlink('cache.evodag.gz')
    os.unlink(fname)
    default_nargs()
def test_get_best_params_files():
    import numpy as np
    import gzip
    import pickle
    import os
    from EvoDAG.command_line import params, train, utils
    import shutil
    from glob import glob
    if os.path.isdir('cache'):
        shutil.rmtree('cache')
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '-Pcache', '--only-paramsfiles', '-r', '2', fname
    ]
    params()
    for p in glob(os.path.join('cache', '*_params.json')):
        basename = p.split('_params.json')[0]
        for s in range(3):
            model = basename + '_%s.model' % s
            sys.argv = [
                'EvoDAG',
                '-s%s' % s,
                '-P%s' % p,
                '-m%s' % model, '-n1', fname
            ]
            train()
    R = []
    for p in range(2):
        l = []
        for s in range(3):
            with gzip.open(os.path.join('cache',
                                        '%s_%s.model' % (p, s))) as fpt:
                m = pickle.load(fpt)
                l.append(m.fitness_vs * -1)
        R.append((p, l))
    print(R)
    m = np.array([np.median(x[1]) for x in R])
    m = m - np.min(m)
    param = ['%s_params.json' % k for k, x in enumerate(m) if x == 0]
    sys.argv = ['EvoDAG', '--best-params-file', 'cache']
    c = utils(output=True)
    print(c.best_params, param)
    assert c.best_params in param
    sys.argv = ['EvoDAG', '-u2', '--best-params-file', 'cache']
    c = utils(output=True)
    print(c.best_params, param, '*')
    assert c.best_params in param
    if os.path.isdir('cache'):
        shutil.rmtree('cache')
        default_nargs()
def test_params_files():
    import os
    from EvoDAG.command_line import params
    import shutil
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '-Pcache', '--only-paramsfiles', '-r', '2', fname
    ]
    params()
    if os.path.isdir('cache'):
        shutil.rmtree('cache')
        default_nargs()
        return
    assert False
def test_utils_params_stats():
    from EvoDAG.command_line import params, utils
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-R', '--parameters', 'cache.evodag',
        '-p3', '-e1', '-r3', fname
    ]
    params()
    sys.argv = ['EvoDAG', '-P', '-o', fname, 'cache.evodag']
    utils()
    with open(fname) as fpt:
        print(fpt.read())
    os.unlink(fname)
    os.unlink('cache.evodag')
    default_nargs()
Exemple #14
0
def test_word2id():
    import tempfile
    from EvoDAG.command_line import params
    fname = tempfile.mktemp()
    id2word = dict([[0, 'a'], [1, 'b'], [2, 'c']])
    with open(fname, 'w') as fpt:
        for x, v in zip(X, cl):
            l = x.tolist()
            l.append(id2word[v])
            fpt.write(','.join(map(str, l)))
            fpt.write('\n')
    sys.argv = ['EvoDAG', '-C', '-Pparams.gz', '-r2', '-e2', '-p3', fname]
    params()
    os.unlink(fname)
    os.unlink('params.gz')
Exemple #15
0
def test_classifier_params():
    import os
    import json
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '--parameters',
                'cache.evodag', '-p3', '-e1',
                '-r', '2', fname]
    params()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'classifier' in a
    assert a['classifier']
    os.unlink('cache.evodag')
Exemple #16
0
def test_random_generations():
    import os
    import json
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '--parameters',
                'cache.evodag', '-p3', '-e2',
                '--random-generations', '1',
                '-r', '2', fname]
    params()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'random_generations' in a
    os.unlink('cache.evodag')
def test_word2id():
    import tempfile
    from EvoDAG.command_line import params
    fname = tempfile.mktemp()
    id2word = dict([[0, 'a'], [1, 'b'], [2, 'c']])
    with open(fname, 'w') as fpt:
        for x, v in zip(X, cl):
            l = x.tolist()
            l.append(id2word[v])
            fpt.write(','.join(map(str, l)))
            fpt.write('\n')
    sys.argv = ['EvoDAG', '-C', '-Pparams.gz', '-r2', '-e2', '-p3', fname]
    params()
    os.unlink(fname)
    os.unlink('params.gz')
    default_nargs()
Exemple #18
0
def test_regressor_params():
    import os
    import json
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = ['EvoDAG', '-R', '--parameters',
                'cache.evodag', '-p3', '-e1',
                '-r', '2', fname]
    params()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'classifier' in a
    assert not a['classifier']
    assert a['popsize'] == 3
    assert a['early_stopping_rounds'] == 1
    os.unlink('cache.evodag')
Exemple #19
0
def test_parameters_values():
    import os
    from EvoDAG.command_line import params
    import json
    fname = training_set()
    with open('p.conf', 'w') as fpt:
        fpt.write(json.dumps(dict(popsize=['x'])))
    sys.argv = ['EvoDAG', '-C', '-Pcache.evodag.gz', '-p3', '-e2',
                '--parameters-values', 'p.conf',
                '-r', '2', fname]
    try:
        params()
        assert False
    except ValueError:
        pass
    os.unlink('p.conf')
    os.unlink(fname)
def test_classifier_params():
    import os
    import json
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '--parameters', 'cache.evodag', '-p3', '-e1', '-r',
        '2', fname
    ]
    params()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'classifier' in a
    assert a['classifier']
    os.unlink('cache.evodag')
    default_nargs()
def test_model_seed():
    import os
    from EvoDAG.command_line import params, train
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-R', '--parameters', 'cache.evodag',
        '-p3', '-e2', '-r2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--output-dim=3',
        '--seed=1', '--model', 'model.evodag', '--test', fname, fname
    ]
    c = train(output=True)
    os.unlink('cache.evodag')
    default_nargs()
    assert c.data.seed == 1
Exemple #22
0
def test_get_best_params_files():
    import numpy as np
    import gzip
    import pickle
    import os
    from EvoDAG.command_line import params, train, utils
    import shutil
    from glob import glob
    if os.path.isdir('cache'):
        shutil.rmtree('cache')
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '-Pcache', '--only-paramsfiles', '-r', '2', fname
    ]
    params()
    for p in glob('cache/*_params.json'):
        basename = p.split('_params.json')[0]
        for s in range(3):
            model = basename + '_%s.model' % s
            sys.argv = [
                'EvoDAG',
                '-s%s' % s,
                '-P%s' % p,
                '-m%s' % model, '-n1', fname
            ]
            train()
    R = []
    for p in range(2):
        l = []
        for s in range(3):
            with gzip.open('cache/%s_%s.model' % (p, s)) as fpt:
                m = pickle.load(fpt)
                l.append(m.fitness_vs * -1)
        R.append((p, l))
    m = min(R, key=lambda x: np.median(x[1]))
    param = '%s_params.json' % m[0]
    sys.argv = ['EvoDAG', '--best-params-file', 'cache']
    c = utils(output=True)
    assert c.best_params == param
    sys.argv = ['EvoDAG', '-u2', '--best-params-file', 'cache']
    c = utils(output=True)
    assert c.best_params == param
    if os.path.isdir('cache'):
        shutil.rmtree('cache')
        default_nargs()
Exemple #23
0
def test_json():
    from EvoDAG.command_line import params
    import tempfile
    import json
    fname = tempfile.mktemp()
    with open(fname, 'w') as fpt:
        for x, y in zip(X, cl):
            a = {k: v for k, v in enumerate(x)}
            a['klass'] = int(y)
            a['num_terms'] = len(x)
            fpt.write(json.dumps(a) + '\n')
    print("termine con el json")
    sys.argv = ['EvoDAG', '-C', '-Poutput.evodag', '--json',
                '-e1', '-p3', '-r2', fname]
    params()
    os.unlink(fname)
    print(open('output.evodag').read())
    os.unlink('output.evodag')
Exemple #24
0
def test_train():
    import os
    from EvoDAG.command_line import params, CommandLineTrain
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '-Pcache.evodag.gz',
                '-p3', '-e2', '-r2', fname]
    params()
    sys.argv = ['EvoDAG', '-Pcache.evodag.gz',
                '-n2',
                '--model', 'model.evodag',
                '--test_set', fname, fname]
    c = CommandLineTrain()
    c.parse_args()
    assert os.path.isfile(c.data.test_set)
    assert os.path.isfile('model.evodag')
    os.unlink(fname)
    os.unlink('cache.evodag.gz')
    os.unlink('model.evodag')
    default_nargs()
def test_parameters_values():
    import os
    from EvoDAG.command_line import params
    import json
    fname = training_set()
    with open('p.conf', 'w') as fpt:
        fpt.write(json.dumps(dict(popsize=['x'], multiple_outputs=[True])))
    sys.argv = [
        'EvoDAG', '-C', '-Pcache.evodag.gz', '-p3', '-e2',
        '--parameters-values', 'p.conf', '-r', '2', fname
    ]
    try:
        params()
        assert False
    except ValueError:
        pass
    os.unlink('p.conf')
    os.unlink(fname)
    default_nargs()
def test_regressor_params():
    import os
    import json
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-R', '--parameters', 'cache.evodag', '-p3', '-e1', '-r',
        '2', fname
    ]
    params()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'classifier' in a
    assert not a['classifier']
    assert a['popsize'] == 3
    assert a['early_stopping_rounds'] == 1
    os.unlink('cache.evodag')
    default_nargs()
def test_model_used_inputs_number():
    import os
    from EvoDAG.command_line import params, train, utils
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-R', '--parameters', 'cache.evodag',
        '-p3', '-e1', '-r2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--output-dim=3',
        '--model', 'model.evodag', '--test', fname, fname
    ]
    train()
    sys.argv = ['EvoDAG', '--used-inputs-number', 'model.evodag']
    utils()
    os.unlink('cache.evodag')
    os.unlink('model.evodag')
    default_nargs()
def test_train():
    import os
    from EvoDAG.command_line import params, CommandLineTrain
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '-Pcache.evodag.gz', '-p3', '-e2', '-r2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '-Pcache.evodag.gz', '-n2', '--model', 'model.evodag',
        '--test_set', fname, fname
    ]
    c = CommandLineTrain()
    c.parse_args()
    assert os.path.isfile(c.data.test_set)
    assert os.path.isfile('model.evodag')
    os.unlink(fname)
    os.unlink('cache.evodag.gz')
    os.unlink('model.evodag')
    default_nargs()
def test_json():
    from EvoDAG.command_line import params
    import tempfile
    import json
    fname = tempfile.mktemp()
    with open(fname, 'w') as fpt:
        for x, y in zip(X, cl):
            a = {k: v for k, v in enumerate(x)}
            a['klass'] = int(y)
            a['num_terms'] = len(x)
            fpt.write(json.dumps(a) + '\n')
    print("termine con el json")
    sys.argv = [
        'EvoDAG', '-C', '-Poutput.evodag', '--json', '-e1', '-p3', '-r2', fname
    ]
    params()
    os.unlink(fname)
    print(open('output.evodag').read())
    os.unlink('output.evodag')
    default_nargs()
Exemple #30
0
def test_params():
    import os
    import gzip
    from EvoDAG.command_line import params
    import json
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '--parameters',
                'cache.evodag.gz', '-p3', '-e2', '-r', '2', fname]
    params()
    os.unlink(fname)
    assert os.path.isfile('cache.evodag.gz')
    with gzip.open('cache.evodag.gz', 'rb') as fpt:
        try:
            d = fpt.read()
            a = json.loads(str(d, encoding='utf-8'))
        except TypeError:
            a = json.loads(d)
    os.unlink('cache.evodag.gz')
    assert len(a) == len([x for x in a if 'fitness' in x])
    print(a)
Exemple #31
0
def test_predict():
    import os
    from EvoDAG.command_line import params, train, predict
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '--parameters',
                'cache.evodag.gz', '-p3', '-e2', '-r', '2', fname]
    params()
    sys.argv = ['EvoDAG', '--parameters', 'cache.evodag.gz',
                '-n2',
                '--model', 'model.evodag',
                '--test', fname, fname]
    train()
    sys.argv = ['EvoDAG', '--output', 'output.evodag',
                '--model', 'model.evodag', fname]
    predict()
    os.unlink(fname)
    os.unlink('cache.evodag.gz')
    os.unlink('model.evodag')
    assert os.path.isfile('output.evodag')
    os.unlink('output.evodag')
    default_nargs()
Exemple #32
0
def test_decision_function():
    import os
    from EvoDAG.command_line import params, train, predict
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '--parameters',
                'cache.evodag', '-p3', '-e1',
                '-r', '1', fname]
    params()
    sys.argv = ['EvoDAG', '--parameters', 'cache.evodag',
                '-n2',
                '--model', 'model.evodag',
                '--test', fname, fname]
    train()
    sys.argv = ['EvoDAG', '--output', 'output.evodag',
                '--decision-function',
                '--model', 'model.evodag', fname]
    predict()
    os.unlink(fname)
    os.unlink('cache.evodag')
    os.unlink('model.evodag')
    os.unlink('output.evodag')
    default_nargs()
Exemple #33
0
def test_json_gzip():
    from EvoDAG.command_line import params
    import gzip
    import tempfile
    import json
    fname = tempfile.mktemp() + '.gz'
    with gzip.open(fname, 'wb') as fpt:
        for x, y in zip(X, cl):
            a = {k: v for k, v in enumerate(x)}
            a['klass'] = int(y)
            a['num_terms'] = len(x)
            try:
                fpt.write(bytes(json.dumps(a) + '\n', encoding='utf-8'))
            except TypeError:
                fpt.write(json.dumps(a) + '\n')
    print("termine con el json")
    sys.argv = ['EvoDAG', '-C', '-Poutput.evodag', '--json',
                '-e1', '-p3', '-r2', fname]
    params()
    os.unlink(fname)
    print(open('output.evodag').read())
    os.unlink('output.evodag')
def test_input_type_constraint_C():
    from EvoDAG.command_line import params
    from EvoDAG.utils import PARAMS
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-C', '--parameters', 'cache.evodag',
        '--verbose=0', '-p3', '-e2', '-r2', fname
    ]
    c = params(output=True)
    _params = PARAMS.copy()
    c.if_type_contraint(_params)
    print(_params['input_functions'], 'MultipleVariables')
    assert len(_params['input_functions']) == 4
def test_params():
    import os
    import gzip
    from EvoDAG.command_line import params
    import json
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '--parameters', 'cache.evodag.gz', '-p3', '-e2', '-r',
        '2', fname
    ]
    params()
    os.unlink(fname)
    assert os.path.isfile('cache.evodag.gz')
    with gzip.open('cache.evodag.gz', 'rb') as fpt:
        try:
            d = fpt.read()
            a = json.loads(str(d, encoding='utf-8'))
        except TypeError:
            a = json.loads(d)
    os.unlink('cache.evodag.gz')
    assert len(a) == len([x for x in a if 'fitness' in x])
    print(a)
    default_nargs()
Exemple #36
0
def test_time_limit():
    import os
    from EvoDAG.command_line import params, train
    import json
    fname = training_set()
    sys.argv = ['EvoDAG', '-C', '--parameters',
                'cache.evodag', '-p3', '-e2',
                '--time-limit', '10',
                '-r', '2', fname]
    params()
    sys.argv = ['EvoDAG', '--parameters', 'cache.evodag',
                '-n2',
                '--model', 'model.evodag',
                '--test', fname, fname]
    train()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'time_limit' in a
    os.unlink('cache.evodag')
    assert os.path.isfile('model.evodag')
    os.unlink('model.evodag')
    default_nargs()
def test_time_limit():
    import os
    from EvoDAG.command_line import params, train
    import json
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '--parameters', 'cache.evodag', '-p3', '-e2',
        '--time-limit', '10', '-r', '2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--model',
        'model.evodag', '--test', fname, fname
    ]
    train()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'time_limit' in a
    os.unlink('cache.evodag')
    assert os.path.isfile('model.evodag')
    os.unlink('model.evodag')
    default_nargs()
def test_predict():
    import os
    from EvoDAG.command_line import params, train, predict
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '--parameters', 'cache.evodag.gz', '-p3', '-e2', '-r',
        '2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag.gz', '-n2', '--model',
        'model.evodag', '--test', fname, fname
    ]
    train()
    sys.argv = [
        'EvoDAG', '--output', 'output.evodag', '--model', 'model.evodag', fname
    ]
    predict()
    os.unlink(fname)
    os.unlink('cache.evodag.gz')
    os.unlink('model.evodag')
    assert os.path.isfile('output.evodag')
    os.unlink('output.evodag')
    default_nargs()
def test_predict_cpu():
    import os
    from EvoDAG.command_line import params, train, predict
    fname = training_set()
    sys.argv = [
        'EvoDAG', '-C', '--parameters', 'cache.evodag', '-p3', '-e1', '-r2',
        fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--model',
        'model.evodag', '--test', fname, fname
    ]
    train()
    sys.argv = [
        'EvoDAG', '--output', 'output.evodag', '--decision-function', '-u2',
        '--model', 'model.evodag', fname
    ]
    predict()
    os.unlink(fname)
    os.unlink('cache.evodag')
    os.unlink('model.evodag')
    os.unlink('output.evodag')
    default_nargs()
def test_random_generations():
    import os
    import json
    from EvoDAG.command_line import params
    fname = training_set()
    sys.argv = [
        'EvoDAG',
        '-C',
        '--parameters',
        'cache.evodag',
        '-p3',
        '-e2',
        # '--random-generations', '1',
        '-r',
        '2',
        fname
    ]
    params()
    os.unlink(fname)
    with open('cache.evodag') as fpt:
        a = json.loads(fpt.read())[0]
    assert 'random_generations' in a
    os.unlink('cache.evodag')
    default_nargs()
Exemple #41
0
def test_model_min_size():
    import os
    from EvoDAG.command_line import params, train
    import gzip
    import pickle
    fname = mo_training_set()
    sys.argv = [
        'EvoDAG', '--output-dim=3', '-R', '--parameters', 'cache.evodag',
        '-p3', '-e2', '-r2', fname
    ]
    params()
    sys.argv = [
        'EvoDAG', '--parameters', 'cache.evodag', '-n2', '--output-dim=3',
        '--min-size=6', '--model', 'model.evodag', '--test', fname, fname
    ]
    train()
    os.unlink('cache.evodag')
    with gzip.open('model.evodag') as fpt:
        m = pickle.load(fpt)
        for x in m.models:
            print(x.size)
            assert x.size >= 6
    os.unlink('model.evodag')
    default_nargs()