def cli(): parser = argparse.ArgumentParser( description="Train or evaluate an RLlib Trainer.", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=EXAMPLE_USAGE) subcommand_group = parser.add_subparsers( help="Commands to train or evaluate an RLlib agent.", dest="command") # see _SubParsersAction.add_parser in # https://github.com/python/cpython/blob/master/Lib/argparse.py train_parser = train.create_parser( lambda **kwargs: subcommand_group.add_parser("train", **kwargs)) evaluate_parser = evaluate.create_parser( lambda **kwargs: subcommand_group.add_parser("evaluate", **kwargs)) rollout_parser = evaluate.create_parser( lambda **kwargs: subcommand_group.add_parser("rollout", **kwargs)) options = parser.parse_args() if options.command == "train": train.run(options, train_parser) elif options.command == "evaluate": evaluate.run(options, evaluate_parser) elif options.command == "rollout": deprecation_warning(old="rllib rollout", new="rllib evaluate", error=False) evaluate.run(options, rollout_parser) else: parser.print_help()
def train_agent(config): parser = argparse.ArgumentParser( description="Train or Run an RLlib Agent.", formatter_class=argparse.RawDescriptionHelpFormatter) subcommand_group = parser.add_subparsers( help="Commands to train or run an RLlib agent.", dest="command") train_parser = train.create_parser( lambda **kwargs: subcommand_group.add_parser("train", **kwargs)) rollout_parser = rollout.create_parser( lambda **kwargs: subcommand_group.add_parser("rollout", **kwargs)) options = parser.parse_args() register_env('env_mp500lwa4dpg70', env_creator) configFromYaml = { 'train-ppo': { 'env': 'env_mp500lwa4dpg70', 'run': 'PPO', 'config': config, 'checkpoint_freq': 1000, #'local_dir': "~/train_results", 'stop': { "timesteps_total": 1e10, }, } } ray.init() if options.command == "train": configFromYaml['train-ppo']['config']['env_config'] = env_input_config( True) run_experiments(configFromYaml) #train.run(options, train_parser) elif options.command == "rollout": options.run = configFromYaml['train-ppo']['run'] options.env = configFromYaml['train-ppo']['env'] options.no_render = True options.steps = 1000 options.out = None configFromYaml['train-ppo']['config']['env_config'] = env_input_config( False) configFromYaml['train-ppo']['config']['monitor'] = True options.config = configFromYaml['train-ppo']['config'] rollout.run(options, rollout_parser) else: parser.print_help()
def cli(): parser = argparse.ArgumentParser( description="Train or Run an RLlib Agent.", formatter_class=argparse.RawDescriptionHelpFormatter, epilog=EXAMPLE_USAGE) subcommand_group = parser.add_subparsers( help="Commands to train or run an RLlib agent.", dest="command") # see _SubParsersAction.add_parser in # https://github.com/python/cpython/blob/master/Lib/argparse.py train_parser = train.create_parser( lambda **kwargs: subcommand_group.add_parser("train", **kwargs)) rollout_parser = rollout.create_parser( lambda **kwargs: subcommand_group.add_parser("rollout", **kwargs)) options = parser.parse_args() if options.command == "train": train.run(options, train_parser) elif options.command == "rollout": rollout.run(options, rollout_parser) else: parser.print_help()
import ray from ray.rllib import train from ray import tune import os from utils import callbacks if __name__ == "__main__": # Parse arguments and add callbacks to config train_parser = train.create_parser() args = train_parser.parse_args() args.config["callbacks"] = {"on_train_result": callbacks.on_train_result} # Trace if video capturing is on if 'monitor' in args.config and args.config['monitor']: print("Video capturing is ON!") # Start ray head (single node) os.system('ray start --head') ray.init(address='auto') # Run training task using tune.run tune.run(run_or_experiment=args.run, config=dict(args.config, env=args.env), stop=args.stop, checkpoint_freq=args.checkpoint_freq, checkpoint_at_end=args.checkpoint_at_end, local_dir=args.local_dir)
activation_fn=None, weights_initializer=weights_initializer) return net_out, net def create_pacman_environment(layout_name='originalClassic', stick_actions=False): """ """ layout = pacman_env.layout.getLayout(layout_name) if layout is None: raise ValueError('No suck layout as %s' % layout_name) ghosts = [] for i in range(2): ghosts.append(pacman_env.ghostAgents.RandomGhost(i + 1)) #display = VizGraphics(includeInfoPane=False, zoom=0.4) display = pacman_env.matrixDisplay.PacmanGraphics(layout) #teacherAgents = [LeftTurnAgent(), GreedyAgent()] env = pacman_env.PacmanEnv(layout, ghosts, display) #, teacherAgents=teacherAgents) return env if __name__ == '__main__': ModelCatalog.register_custom_model("PacmanModel", PacmanModel) register_env("pacman", lambda _: create_pacman_environment()) parser = create_parser() args = parser.parse_args() run(args, parser)
def main(): parser = create_parser() args = parser.parse_args() run(args, parser)
def create_parser(): parser = train.create_parser() parser.set_defaults(env='CavalryVsInfantry') return parser
def main(): raylab.register_all_agents() raylab.register_all_environments() parser = create_parser() args = parser.parse_args() run(args, parser)