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阶段,可能在稳定之前发生变化。
方法
在运行时将一个模块添加到多代理模块中。
返回自身以匹配
RLModule.as_multi_rl_module()的行为。使用每个 (module_id, module) 调用给定的函数。
探索期间的正向传递,从采样器调用。
在评估期间的前向传递,从采样器调用。
训练期间的前向传递,从学习器中调用。
从给定位置创建一个新的 Checkpointable 实例并返回它。
返回具有给定模块ID的模块,如果在自身中未找到则返回默认值。
返回用于探索的此 RLModule 的动作分布类。
返回用于推理的此 RLModule 的动作分布类。
返回可写入的JSON元数据,进一步描述实现类。
返回用于训练的此 RLModule 的动作分布类。
返回 forward_exploration 方法的输入规格。
返回 forward_inference 方法的输入规格。
返回 forward_train 方法的输入规格。
返回此 MultiRLModule 中模块 ID 的键视图。
返回此 MultiRLModule 中模块 ID 的键视图。
从多代理模块中在运行时移除一个模块。
从给定的路径恢复实现类的状态。
将实现类的状态(或
state)保存到path。设置多智能体模块的状态。
设置底层的 RLModules。
如果此模块是一个包装器,则返回底层模块。
使用此模块的视图要求更新默认视图要求。
返回此 MultiRLModule 中模块 ID 的键视图。
属性