class mindspore_rl.environment.MsEnvironment(kwargs=None)[源代码]

封装了内置环境(c++实现的环境)的类。

参数:
  • kwargs (dict) - 和环境相关的特定配置信息。详细信息请参见下表:

    环境名称

    配置参数

    默认值

    备注

    Tag环境

    seed

    42

    随机种子

    environment_num

    2

    环境数量

    predator_num

    10

    Predator的数量

    max_timestep

    100

    每一局游戏的最大步长

    map_length

    100

    地图的长

    map_width

    100

    地图的宽

    wall_hit_penalty

    0.1

    智能体撞击到墙的惩罚

    catch_reward

    10

    Predator抓捕到目标的奖励

    caught_penalty

    5

    Prey被捕捉到的惩罚

    step_cost

    0.01

    单个Step的基础成本

支持平台:

GPU

样例:

>>> config = {'name': 'Tag', 'predator_num': 4}
>>> env = MsEnvironment(config)
>>> observation = env.reset()
>>> action = Tensor(env.action_space.sample())
>>> observation, reward, done = env.step(action)
>>> print(observation.shape)
(2, 5, 21)
property action_space

获取环境的动作空间。

返回:

Space,环境的动作空间。

property config

获取环境的配置信息。

返回:

dict,一个包含环境信息的字典。

property done_space

获取环境的终止空间。

返回:

Space,环境的终止空间。

property observation_space

获取环境的状态空间。

返回:

Space,环境的状态空间。

reset()[源代码]

将环境重置为初始状态,并返回环境的初始状态值。

输入:

没有输入。

返回:

Tensor,表示环境初始状态。

支持平台:

GPU

样例:

>>> config = {'name': 'Tag', 'predator_num': 4}
>>> env = MsEnvironment(config)
>>> observation = env.reset()
>>> print(observation.shape)
(2, 5, 21)
property reward_space

获取环境的状态空间。

返回:

Space,环境的奖励空间。

step(action)[源代码]

执行环境Step函数来和环境交互一回合。

参数:
  • action (Tensor) - 由所有智能体提供的动作。

返回:

3 个张量的元组,状态、奖励和终止。

  • observation (Tensor) - 输入动作后的环境返回的所有智能体的新状态。

  • reward (Tensor) - 输入动作后环境返回的奖励。

  • done (Tensor) - 输入动作后环境是否终止。

支持平台:

GPU

样例:

>>> config = {'name': 'Tag', 'predator_num': 4}
>>> env = MsEnvironment(config)
>>> observation = env.reset()
>>> action = Tensor(env.action_space.sample())
>>> observation, reward, done = env.step(action)
>>> print(observation.shape)
(2, 5, 21)