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)
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)
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)