Ejemplo n.º 1
0
    datasets, rnn = constructModels(parameters, seed, verboseOutputter)

    ### From here the experiment should be the same every time

    # Start experiment clock
    start = time.clock()

    # Train on all datasets in succession
    train(rnn,
          datasets,
          parameters,
          name,
          start,
          saveModels=saveModels,
          targets=not parameters['single_digit'],
          verboseOutputter=verboseOutputter)

    print("Training all datasets finished!")

    # Final test on last dataset
    test(rnn,
         datasets[-1],
         parameters,
         start,
         show_prediction_conf_matrix=False)

    # Save weights to pickles
    if (saveModels):
        saveVars = rnn.getVars()
        save_to_pickle('saved_models/%s.model' % name, saveVars)
            # Report on error
            print("Train: %d" % k)
            printF("Total error: %.2f" % total_error, experimentId,
                   currentIteration)
            printF("Mean error: %.8f" % (total_error / float(k)), experimentId,
                   currentIteration)

            # Intermediate testing if this was not the last iteration of training
            # and we have passed the testing threshold
            sampleSize = parameters['sample_testing_size']
            if (r == parameters['repetitions'] - 1):
                sampleSize = False
            test(model,
                 dataset,
                 parameters,
                 model.n_max_digits,
                 print_samples=parameters['debug'],
                 sample_size=sampleSize)

            # Save weights to pickles
            save_modulo = 50
            if (saveModels and (r + 1) % save_modulo == 0):
                saveVars = model.getVars()
                save_to_pickle('saved_models/%s_%d.model' % (name, r),
                               saveVars,
                               settings=parameters)

        printF("Training finished!", experimentId, currentIteration)
        trackerreporter.experimentDone(experimentId)
Ejemplo n.º 3
0
import os, sys
from tools.file import load_from_pickle_with_filename, save_to_pickle
from tools.model import constructModels
import theano

if __name__ == '__main__':
    theano.config.floatX = 'float32'

    name = sys.argv[1]

    filepath = "./saved_models/%s.floats" % name
    if (os.path.isfile(filepath)):
        modelName = name
        result = load_from_pickle_with_filename(filepath)
        if (result is not False):
            savedVars, settings = result
            dataset, rnn = constructModels(settings, 0, None)
            modelSet = rnn.loadVars(savedVars, floats=True)
            if (modelSet):
                saveVars = rnn.getVars()
                save_to_pickle('saved_models/%s_from_floats.model' % (name),
                               saveVars,
                               settings=settings)
                print("Success!")
            else:
                print("Error (3)")
        else:
            print("Error (2)")
    else:
        print("Error (1)")