def train(mode): global trainingCurrentStep trainingCurrentStep = 0 if mode == settings.NEAT_IP_KEY: trainMode('../config_files/config_neat_ip', settings.NEAT_IP_EVOLVING_STEPS, eval_genomes_neat_ip) elif mode == settings.NEAT_DYCICLE_KEY: trainMode('../config_files/config_neat_dycicle', settings.NEAT_DYCICLE_EVOLVING_STEPS, eval_genomes_neat_dycicle) elif mode == settings.NEAT_DIP_KEY: node_names = { -1: 'a1', -2: 'a*1', -3: 'a2', -4: 'a*2', -5: 'a0', -6: 'a*0', 0: 'u' } trainMode('../config_files/config_neat_dip', settings.NEAT_DIP_EVOLVING_STEPS, eval_genomes_neat_dip, node_names) elif mode == settings.NEAT_TIP_KEY: trainMode('../config_files/config_neat_tip', settings.NEAT_TIP_EVOLVING_STEPS, eval_genomes_neat_tip) elif mode == settings.NEAT_WALKER_KEY: trainMode('../config_files/config_neat_walker', settings.NEAT_WALKER_EVOLVING_STEPS, eval_genomes_neat_walker) app = Application() app.play()
def main(): parser = argparse.ArgumentParser(description='Run the program') parser.add_argument("--trainMode", help="Mode of training") args = parser.parse_args() settings.TRAIN_CALLBACK = train if args.trainMode: train(args.trainMode) else: app = Application() app.play()