函数式环境

class gymnasium.experimental.functional.FuncEnv(options: dict[str, Any] | None = None)[source]

函数式环境的基类(模板)。

此 API 旨在以无状态方式使用,环境状态被明确地传递。话虽如此,这里没有任何东西阻止用户以有状态方式使用环境,只是不推荐。函数式环境由以下函数(在这种情况下,实例方法)组成:

  • initial: 返回 POMDP 的初始状态

  • observation: 返回给定状态下的观测

  • transition: 返回在给定状态下执行动作后的下一个状态

  • reward: 返回给定 (状态, 动作, 下一个状态) 元组的奖励

  • terminal: 返回给定状态是否是终止状态

  • state_info: 可选,返回关于给定状态的信息字典

  • step_info: 可选,返回关于给定 (状态, 动作, 下一个状态) 元组的信息字典

基于类的结构允许在类中定义环境常量,然后通过名称在代码中使用它们。

目前,这主要是为了内部使用。此 API 可能会发生变化,但未来我们打算对其进行充实并正式向最终用户公开。

初始化环境常量。

transform(func: Callable[[Callable], Callable])[source]

函数式变换。

initial(rng: Any, params: Params | None = None) StateType[source]

使用随机数生成器生成环境的初始状态。

transition(state: StateType, action: ActType, rng: Any, params: Params | None = None) StateType[source]

使用动作和随机数生成器更新(转换)状态。

observation(state: StateType, rng: Any, params: Params | None = None) ObsType[source]

为环境的给定状态生成观测。

reward(state: StateType, action: ActType, next_state: StateType, rng: Any, params: Params | None = None) RewardType[source]

计算给定 stateactionnext_state 转换的奖励。

terminal(state: StateType, rng: Any, params: Params | None = None) TerminalType[source]

返回状态是否是最终的终止状态。

state_info(state: StateType, params: Params | None = None) dict[source]

关于单一状态的信息字典。

transition_info(state: StateType, action: ActType, next_state: StateType, params: Params | None = None) dict[source]

关于完整转换的信息字典。

render_init(params: Params | None = None, **kwargs) RenderStateType[source]

初始化渲染状态。

render_image(state: StateType, render_state: RenderStateType, params: Params | None = None) tuple[RenderStateType, ndarray][source]

显示状态。

render_close(render_state: RenderStateType, params: Params | None = None)[source]

关闭渲染状态。

将基于 Jax 的函数式环境转换为标准 Env

class gymnasium.envs.functional_jax_env.FunctionalJaxEnv(func_env: FuncEnv, metadata: dict[str, Any] | None = None, render_mode: str | None = None, spec: EnvSpec | None = None)[source]

一个基于 jax 的环境转换层。

从 FuncEnv 初始化环境。

reset(*, seed: int | None = None, options: dict | None = None)[source]

使用种子重置环境。

step(action: ActType)[source]

使用动作在环境中进行步进。

render()[source]

如果 render_mode 是“rgb_array”,则返回渲染状态。