if args.frequency_results != None: config['frequency_results'] = args.frequency_results if args.profile: # When profiling, just run the configuration import cProfile cProfile.run("all_runs(config)", sort=2) sys.exit() try: # Perform the actual run of the experiment raw_results, frequencies = all_runs(config) combined = sorted(combine_results(raw_results).items()) print combined if args.output_results != None: # Output the results, with the combined stuff on the first line util.save_list(args.output_results, [combined] + raw_results) if args.output_config != None: # Serialize function list config['function_list'] = [func.__name__ for func in config['function_list']] # Saves the final configuration as a single file util.save_configuration(args.output_config, config) if args.frequency_results != None: # Saves the frequency information processed = frequencies_to_vector(config, frequencies) util.save_configuration(args.frequency_results, processed) except KeyError as e: print 'You must include a configuration value for', e.args[0]
config['seed'] = args.seed elif 'seed' not in config: config['seed'] = random.randint(0, sys.maxint) random.seed(config['seed']) if args.graph_length != None: config['graph_length'] = args.graph_length if args.mutation_rate != None: config['mutation_rate'] = args.mutation_rate if args.speed != None: config['speed'] = args.speed if args.profile: # When profiling, just run the configuration import cProfile cProfile.run("all_runs(config)", sort=2) sys.exit() try: raw_results = all_runs(config) combined = combine_results(raw_results).items() print sorted(combined) if args.output_results != None: util.save_list(args.output_results, [combined] + raw_results) if args.output_config != None: util.save_configuration(args.output_config, config) except KeyError as e: print 'You must include a configuration value for', e.args[0]