123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- from ray.rllib.utils.annotations import PublicAPI
- @PublicAPI
- class UnsupportedSpaceException(Exception):
- """Error for an unsupported action or observation space."""
- pass
- @PublicAPI
- class EnvError(Exception):
- """Error if we encounter an error during RL environment validation."""
- pass
- # -------
- # Error messages
- # -------
- # Message explaining there are no GPUs available for the
- # num_gpus=n or num_gpus_per_worker=m settings.
- ERR_MSG_NO_GPUS = \
- """Found {} GPUs on your machine (GPU devices found: {})! If your machine
- does not have any GPUs, you should set the config keys `num_gpus` and
- `num_gpus_per_worker` to 0 (they may be set to 1 by default for your
- particular RL algorithm)."""
- ERR_MSG_INVALID_ENV_DESCRIPTOR = \
- """The env string you provided ('{}') is:
- a) Not a supported/installed environment.
- b) Not a tune-registered environment creator.
- c) Not a valid env class string.
- Try one of the following:
- a) For Atari support: `pip install gym[atari] autorom[accept-rom-license]`.
- For VizDoom support: Install VizDoom
- (https://github.com/mwydmuch/ViZDoom/blob/master/doc/Building.md) and
- `pip install vizdoomgym`.
- For PyBullet support: `pip install pybullet`.
- b) To register your custom env, do `from ray import tune;
- tune.register('[name]', lambda cfg: [return env obj from here using cfg])`.
- Then in your config, do `config['env'] = [name]`.
- c) Make sure you provide a fully qualified classpath, e.g.:
- `ray.rllib.examples.env.repeat_after_me_env.RepeatAfterMeEnv`
- """
- # -------
- # HOWTO_ strings can be added to any error/warning/into message
- # to eplain to the user, how to actually fix the encountered problem.
- # -------
- # HOWTO change the RLlib config, depending on how user runs the job.
- HOWTO_CHANGE_CONFIG = """
- To change the config for the `rllib train|rollout` command, use
- `--config={'[key]': '[value]'}` on the command line.
- To change the config for `tune.run()` in a script: Modify the python dict
- passed to `tune.run(config=[...])`.
- To change the config for an RLlib Trainer instance: Modify the python dict
- passed to the Trainer's constructor, e.g. `PPOTrainer(config=[...])`.
- """
|