Example #1
0
def basic(iterations, profile):
    options = Options()
    options.serial = True
    #options.accperclass = True
    options.convlayers = 0
    options.step = 20
    options.combine = True
    options.post_init()
    x_train, y_train, x_test, y_test = get_dataset(options)  # pylint: disable=unused-variable
    model = train_network(get_model(x_test, options), options)
    only_convolutional, _ = split_network(model, options.convlayers)  # pylint: disable=unused-variable
    cmd_string = """run_experiment(iterations, options, x_train, y_train, x_test, y_test,
                    model, only_convolutional, EXPERIMENT_DIR + '/basic.csv')"""
    if profile:
        cProfile.run(cmd_string, PROFILING_DIR + '/basic')
    else:
        exec(cmd_string)
Example #2
0
def rot_first(iterations, profile):
    options = Options()
    options.serial = True
    options.convlayers = 5
    options.step = 20
    options.combine = False
    options.representatives = False
    options.rotate_first = True
    options.post_init()
    x_train, y_train, x_test, y_test = get_dataset(options)  # pylint: disable=unused-variable
    model = train_network(get_model(x_test, options), options)
    options.convlayers = get_last_conv_layer(model) + 1
    only_convolutional, _ = split_network(model, options.convlayers)  # pylint: disable=unused-variable
    cmd_string = """run_experiment(iterations, options, x_train, y_train, x_test, y_test,
                    model, only_convolutional, EXPERIMENT_DIR + '/rotate_first.csv')"""
    if profile:
        cProfile.run(cmd_string, PROFILING_DIR + '/rotate_first')
    else:
        exec(cmd_string)
Example #3
0
def setup():
    options = Options()
    options.serial = True

    parser = argparse.ArgumentParser(description='Run the experiments')
    parser.add_argument('--profile',
                        dest='profile',
                        action='store_true',
                        help='Profile the experiments')
    parser.add_argument('--nobasic',
                        dest='basic',
                        action='store_false',
                        help='Skip the basic experiment')
    parser.add_argument('--norep',
                        dest='rep',
                        action='store_false',
                        help='Skip the representatives experiment')
    parser.add_argument('--noconv',
                        dest='conv',
                        action='store_false',
                        help='Skip the convolution experiment')
    parser.add_argument('--norot',
                        dest='rot_first',
                        action='store_false',
                        help='Skip the rotate first experiment')
    parser.add_argument('--nocon',
                        dest='constraint',
                        action='store_false',
                        help='Skip the constraint experiment')
    parser.add_argument('--iterations',
                        type=int,
                        default=501,
                        nargs='?',
                        help='How many iterations to run')

    args = parser.parse_args()

    try:
        shutil.rmtree(EXPERIMENT_DIR)
    except OSError:
        pass
    os.mkdir(EXPERIMENT_DIR)

    try:
        shutil.rmtree(PROFILING_DIR)
    except OSError:
        pass
    os.mkdir(PROFILING_DIR)

    remove_caches()

    if args.basic:
        basic(args.iterations, args.profile)

    if args.rep:
        rep(args.iterations, args.profile)

    if args.conv:
        conv(args.iterations, args.profile)

    if args.rot_first:
        rot_first(args.iterations, args.profile)

    if args.constraint:
        constraint(args.iterations, args.profile)