ray.rllib.core.rl_模块.多重_rl_模块.多重RL模块#

class ray.rllib.core.rl_module.multi_rl_module.MultiRLModule(*args, **kwargs)[源代码]#

基类:RLModule

包含 n 个子 RLModule 的 RLModule 基类。

此类保存了从 ModuleID 到底层 RLModules 的映射。它提供了一种便捷的方式来访问每个单独的模块,以及通过一个 API 调用来访问所有模块。给定模块是否可训练由该类的调用者决定(而不是该类的实例本身)。

这个类的扩展可以包括任何任意的神经网络作为 MultiRLModule 的一部分。例如,一个 MultiRLModule 可以包括一个共享的编码器网络,该网络被所有单独的(单智能体)RLModules 使用。如何实现这个类取决于用户。

默认实现假设此类API的输入和输出数据为 MultiAgentBatch 类型。MultiRLModule 简单地遍历每个 module_id,并使用 MultiAgentBatch 中的相应 SampleBatch 运行对应 RLModule 对象的前向传递。它还假设底层 RLModules 之间不共享任何参数或进行通信。默认情况下,具有此类高级通信的模块的行为将是未定义的。要在底层 RLModules 之间共享参数或进行通信,您应该实现自己的 MultiRLModule 子类。

PublicAPI (alpha): 此API处于alpha阶段,可能在稳定之前发生变化。

方法

add_module

在运行时将一个模块添加到多代理模块中。

as_multi_rl_module

返回自身以匹配 RLModule.as_multi_rl_module() 的行为。

foreach_module

使用每个 (module_id, module) 调用给定的函数。

forward_exploration

探索期间的正向传递,从采样器调用。

forward_inference

在评估期间的前向传递,从采样器调用。

forward_train

训练期间的前向传递,从学习器中调用。

from_checkpoint

从给定位置创建一个新的 Checkpointable 实例并返回它。

get

返回具有给定模块ID的模块,如果在自身中未找到则返回默认值。

get_exploration_action_dist_cls

返回用于探索的此 RLModule 的动作分布类。

get_inference_action_dist_cls

返回用于推理的此 RLModule 的动作分布类。

get_metadata

返回可写入的JSON元数据,进一步描述实现类。

get_train_action_dist_cls

返回用于训练的此 RLModule 的动作分布类。

input_specs_exploration

返回 forward_exploration 方法的输入规格。

input_specs_inference

返回 forward_inference 方法的输入规格。

input_specs_train

返回 forward_train 方法的输入规格。

items

返回此 MultiRLModule 中模块 ID 的键视图。

keys

返回此 MultiRLModule 中模块 ID 的键视图。

remove_module

从多代理模块中在运行时移除一个模块。

restore_from_path

从给定的路径恢复实现类的状态。

save_to_path

将实现类的状态(或 state)保存到 path

set_state

设置多智能体模块的状态。

setup

设置底层的 RLModules。

unwrapped

如果此模块是一个包装器,则返回底层模块。

update_default_view_requirements

使用此模块的视图要求更新默认视图要求。

values

返回此 MultiRLModule 中模块 ID 的键视图。

属性

CLASS_AND_CTOR_ARGS_FILE_NAME

METADATA_FILE_NAME

STATE_FILE_NAME

framework