1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/usr/bin/env python
- import argparse
- from ray.rllib import evaluate, train
- from ray.rllib.utils.deprecation import deprecation_warning
- EXAMPLE_USAGE = """
- Example usage for training:
- rllib train --run DQN --env CartPole-v0
- Example usage for evaluate (aka: "rollout"):
- rllib evaluate /trial_dir/checkpoint_000001/checkpoint-1 --run DQN
- """
- 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()
|