Example #1
0
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()
Example #3
0
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)
Example #5
0
                                       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)
Example #6
0
def main():
    parser = create_parser()
    args = parser.parse_args()
    run(args, parser)
Example #7
0
def create_parser():
    parser = train.create_parser()
    parser.set_defaults(env='CavalryVsInfantry')
    return parser
Example #8
0
def main():
    raylab.register_all_agents()
    raylab.register_all_environments()
    parser = create_parser()
    args = parser.parse_args()
    run(args, parser)