ray.rllib.algorithms.algorithm_config.AlgorithmConfig.环境#

AlgorithmConfig.environment(env: str | ~typing.Any | gymnasium.Env | None = <ray.rllib.utils.from_config._NotProvided object>, *, env_config: dict | None = <ray.rllib.utils.from_config._NotProvided object>, observation_space: gymnasium.spaces.Space | None = <ray.rllib.utils.from_config._NotProvided object>, action_space: gymnasium.spaces.Space | None = <ray.rllib.utils.from_config._NotProvided object>, env_task_fn: ~typing.Callable[[~typing.Dict, ~typing.Any | gymnasium.Env, ~ray.rllib.env.env_context.EnvContext], ~typing.Any] | None = <ray.rllib.utils.from_config._NotProvided object>, render_env: bool | None = <ray.rllib.utils.from_config._NotProvided object>, clip_rewards: bool | float | None = <ray.rllib.utils.from_config._NotProvided object>, normalize_actions: bool | None = <ray.rllib.utils.from_config._NotProvided object>, clip_actions: bool | None = <ray.rllib.utils.from_config._NotProvided object>, disable_env_checking: bool | None = <ray.rllib.utils.from_config._NotProvided object>, is_atari: bool | None = <ray.rllib.utils.from_config._NotProvided object>, action_mask_key: str | None = <ray.rllib.utils.from_config._NotProvided object>, auto_wrap_old_gym_envs=-1) AlgorithmConfig[源代码]#

设置配置的 RL-环境设置。

参数:
  • env – 环境指定符。这可以是通过 tune.register_env([name], lambda env_ctx: [env object]) 注册的调谐环境,或者是一个 RLlib 支持类型的字符串指定符。在后一种情况下,RLlib 将尝试将指定符解释为 Farama-Foundation gymnasium 环境、PyBullet 环境或一个完全限定的环境类路径,例如 “ray.rllib.examples.envs.classes.random_env.RandomEnv”。

  • env_config – 传递给环境创建者的参数字典,作为 EnvContext 对象(这是一个字典,加上属性:num_env_runnersworker_indexvector_indexremote)。

  • observation_space – 该算法策略的观察空间。

  • action_space – 该算法策略的动作空间。

  • env_task_fn – 一个可调用对象,接受最后的训练结果、基础环境和环境上下文作为参数,并返回一个新的任务来设置环境。环境必须是 TaskSettableEnv 的子类才能工作。有关示例,请参见 examples/curriculum_learning.py

  • render_env – 如果为 True,尝试在本地工作进程或工作进程 1(如果 num_env_runners > 0)上渲染环境。对于向量化环境,这通常意味着只有第一个子环境将被渲染。为了使这工作,你的环境必须实现 render() 方法,该方法要么:a) 自行处理窗口生成和渲染(返回 True),要么 b) 返回形状为 [高度 x 宽度 x 3 (RGB)] 的 numpy uint8 图像。

  • clip_rewards – 是否在策略的后处理过程中裁剪奖励。None(默认):仅对Atari裁剪(r=sign(r))。True:r=sign(r):固定奖励 -1.0, 1.0, 或 0.0。False:从不裁剪。[浮点数值]:在 -value 和 +value 处裁剪。Tuple[value1, value2]:在 value1 和 value2 处裁剪。

  • normalize_actions – 如果为 True,RLlib 将在一个归一化的动作空间内完全学习(以 0.0 为中心,具有小的标准差;仅影响 Box 组件)。RLlib 将在将动作发送回环境之前,将动作解归一化(并裁剪,以防万一)到环境的动作空间边界。

  • clip_actions – 如果为 True,RLlib 默认的 ModuleToEnv 连接器将根据环境的界限裁剪动作(在调用 env.step() 之前)。

  • disable_env_checking – 在 EnvRunner 中构建了 gymnasium.Env 实例后,禁用 RLlib 的环境检查。请注意,这些检查包括 env.reset()`env.step()`(使用随机动作),这可能会干扰您的环境逻辑和行为,从而对样本收集和/或学习行为产生负面影响。

  • is_atari – 此配置可用于明确指定环境是否为 Atari 环境。如果未指定,RLlib 将尝试自动检测。

  • action_mask_key – 如果观察是一个字典,期望通过键 action_mask_key 包含一个有效的动作掩码(numpy.int8 数组,由零和一组成)。默认为 “action_mask”。

返回:

这个更新的 AlgorithmConfig 对象。