Exemple #1
0
def compare(name, structure):
    # if name == 'c20ng' and structure == 'tree':
    #    return
    rlist = []
    rname = "results/%s/%s.%s" % (dirname, name, structure)
    ename = "results/%s/error.%s.%s" % (dirname, name, structure)
    try:
        if os.path.isfile(rname + ".pkl") and os.path.isfile(rname + ".csv"):
            print "skipping ", rname
            return
        br = gs.best_grid_point(name, structure, "grid")
        t = float(br["t"])
        cp = float(br["cp"])
        for i in range(10):
            print i, name
            r = gs.eval_grid_point(structure, name, t, cp, 1)
            rlist.append(r)
    except Exception as e:
        print "compare() caught exception: something went wrong"  # at i:%d'%i
        experiment.save_results(rlist, ename)
        import traceback

        traceback.print_exc(file=open(ename + ".tb", "w"))
        raise
    else:
        experiment.save_results(rlist, rname)
def main(data, maskpath, savepath, var = 0):

    np.random.seed(SEED)
    print("Loading data ...")
    if var ==0:
    	data = [DataProvider(path='data/%s'%FILENAME, input_length=INPUT_LENGTH, train_on_valid=TRAIN_ON_VALID)]
    maskcont = MaskContainer(path="masks/%s"%maskpath)

    lrcont = LearningRateContainer(LearningRateScheduler(learning_rate_init=LEARNING_RATE))

    print("Start experiment ...")
    exp = Experiment(maskcont=maskcont, data=data)
    res_train, res_valid = exp.run(N_NETWORKS, N_EPOCHS, lrcont=lrcont, optimizer=OPTIMIZER, init_range_hid=INIT_RANGE_HID, verbose=True)

    if SAVE_RESULTS:
        #try:
           # save_results(res_train, res_valid, data, maskcont, lrcont, OPTIMIZER, INIT_RANGE_HID, SEED, savepath)
            #print "Results saved."
       # except:
            #print 'Results could not be saved'
	save_results(res_train, res_valid, data, maskcont, lrcont, OPTIMIZER, INIT_RANGE_HID, SEED, savepath)
Exemple #3
0
def search(name, structure, dirname):
    rname = 'results/%s/%s'%(dirname, name)
    ename = 'results/%s/error.%s'%(dirname, name)

    if os.path.isfile(rname+'.' + structure + '.pkl') and os.path.isfile(rname+'.' + structure + '.csv'):
        print 'skipping ', rname
        return

    rlist = []
    try:
        # run grid search
        for t in [0.3, 0.1, 0.03, 0.01, 0.003]:
            for cp in [.1, .3, 1., 3., 10.]:
                print 'ok', name, '\tt: %.5f'%t, '\tcp: ', cp
                r = eval_grid_point(structure, name, t, cp, 1)
                rlist.append(r)
    except Exception as e:
        print 'grid search caught exception: something went wrong at t:%f, cp:%f'%(t, cp)
        experiment.save_results(rlist, ename+'.'+structure)
        import traceback
        traceback.print_exc(file=open(ename+'.'+structure+'.tb', 'w'))
        raise
    else:
        experiment.save_results(rlist, rname+'.'+structure)