跳至内容

schola.core.env.ScholaEnv

类定义

class schola.core.env.ScholaEnv(
unreal_connection,
verbosity=0,
environment_start_timeout=45
)

基类: object

一个 Gym 风格的环境,封装了与 Unreal Engine 的连接,运行 Unreal 的 Schola 插件。

引发

参数

unreal_connection

类型: UnrealConnection 与 Unreal Engine 的连接。

verbosity

Type: int
默认: 0
环境的详细程度级别。

environment_start_timeout

Type: int
默认: 45
环境启动等待时间(秒)。

属性

unreal_connection

类型: UnrealConnection 与 Unreal Engine 的连接。

gym_stub

类型: gym_grpc.GymServiceStub
Gym 服务的 gRPC 存根。

ids

类型: List[List[int]]
所有环境及其活动代理的嵌套列表。

agent_display_names

类型: List[Dict[int, str]]
一个列表,其中包含每个环境中每个代理的 ID 到显示名称的映射。

obs_defns

类型: Dict[int, Dict[int, DictSpace]]
每个环境中每个代理的观察空间定义。

action_defns

类型: Dict[int, Dict[int, DictSpace]]
每个环境中每个代理的操作空间定义。

steps

Type: int
环境中当前剧集的步数。

next_action

类型: Dict[int, Dict[int, Any]], 可选
每个环境中每个代理将要采取的下一个动作。

属性

num_agents

类型: int (属性)
返回环境中代理的总数。

返回: 代理的总数。

返回类型: int

num_envs

类型: int (属性)
返回环境的数量。

返回: 环境的数量。

返回类型: int

方法

__init__

__init__(unreal_connection, verbosity=0, environment_start_timeout=45)

参数

  • unreal_connection (UnrealConnection)
  • verbosity (int)
  • environment_start_timeout (int)

close

close()

关闭与 Unreal Engine 的连接并清理所有资源。多次调用此方法是安全的。

另请参阅: gymnasium.Env.close – gymnasium 中的等效操作

返回类型: None

get_action_space

get_action_space(env_id, agent_id)

获取特定环境和代理的操作空间。

参数

  • env_id (int) – 环境的 ID
  • agent_id (int) – 代理的 ID

返回: 指定环境和代理的操作空间。

返回类型: DictSpace

get_obs_space

get_obs_space(env_id, agent_id)

获取特定环境和代理的观察空间。

参数

  • env_id (int) – 环境的 ID
  • agent_id (int) – 代理的 ID

返回: 指定环境和代理的观察空间。

返回类型: DictSpace

hard_reset

hard_reset(env_ids=None, seeds=None, options=None)

对环境执行硬重置。

参数

  • env_ids (Optional[List[int]]) – 要重置的环境 ID 列表。如果为 None,则重置所有环境。默认为 None。
  • seeds (Union[None, List[int], int]) – 用于随机数生成的种子。如果提供整数,则将其用作所有环境的种子。如果提供整数列表,则每个环境将分配一个列表中的种子。默认为 None。
  • options (Union[List[Dict[str, str]], Dict[str, str], None]) – 要为每个环境设置的选项。如果提供字典列表,则每个环境将分配相应的选项字典。如果提供单个字典,则所有环境将分配相同的选项。默认为 None。

返回: 已重置的环境 ID 列表。

返回类型: List

引发

  • AssertionError – 如果提供的种子数量不是零或一,并且与环境数量不匹配
  • AssertionError – 如果提供的选项字典数量不是零或一,并且与环境数量不匹配

另请参阅: gymnasium.Env.reset – gymnasium 中的等效操作

poll

poll()

轮询环境以获取当前状态。

返回值

  • observations (EnvAgentIdDict[Dict[str,Any]]) – 一个字典,按环境和代理 ID 键入,包含每个代理的观察值
  • rewards (EnvAgentIdDict[float]) – 一个字典,按环境和代理 ID 键入,包含每个代理的奖励
  • terminateds (EnvAgentIdDict[bool]) – 一个字典,按环境和代理 ID 键入,包含每个代理的终止标志
  • truncateds (EnvAgentIdDict[bool]) – 一个字典,按环境和代理 ID 键入,包含每个代理的截断标志
  • infos (EnvAgentIdDict[Dict[str,str]]) – 一个字典,按环境和代理 ID 键入,包含每个代理的信息字典

返回类型: Tuple[Dict[int, Dict[int, Dict[str, Any]]], Dict[int, Dict[int, float]], Dict[int, Dict[int, bool]], Dict[int, Dict[int, bool]], Dict[int, Dict[int, Dict[str, str]]]]

send_actions

send_actions(action)

将动作发送给所有代理和环境。

参数

  • action (EnvAgentIdDict[Dict[str,Any]]) – 一个字典,按环境和代理 ID 键入,包含所有活动环境和代理的动作

返回类型: None

另请参阅: poll – 实际将动作发送到 Unreal 的地方

soft_reset

soft_reset(ids=None)

软重置环境,方法是等待 Unreal 自行重置并将 Post Reset State 发送到 Python。

参数

  • ids (List[str], 可选) – 要重置的环境 ID 列表。如果未提供或设置为 None,则将重置所有环境 ID

返回值

  • observations (EnvAgentIdDict[Dict[str,Any]]) – 一个字典,按环境和代理 ID 键入,包含重置后代理的观察值
  • infos (EnvAgentIdDict[Dict[str,str]]) – 一个字典,按环境和代理 ID 键入,包含环境中的代理信息

返回类型: Tuple[Dict[int, Dict[int, Dict[str, Any]]], Dict[int, Dict[int, Dict[str, str]]]]

© . This site is unofficial and not affiliated with AMD.