ray.rllib.policy.policy.Policy#
- class ray.rllib.policy.policy.Policy(observation_space: gymnasium.Space, action_space: gymnasium.Space, config: dict)[源代码]#
基类:
object
RLlib 所有策略实现的基类。
Policy 是所有特定于 DL-框架子类的抽象超类(例如 TFPolicy 或 TorchPolicy)。它公开了 API 以
从观察(可能还有其他)输入中计算动作。
管理策略的 NN 模型,如导出和加载它们的权重。
- 通过以下方式对来自环境或其他输入的给定轨迹进行后处理:
postprocess_trajectory
方法。
从训练批次中计算损失。
- 对NN模型执行来自训练批次的更新(这通常包括损失)
计算) 要么:
在一个单一的步骤中(
learn_on_batch
)- 通过批量预加载,然后进行 n 步的实际损失计算和更新
(
load_batch_into_buffer
+learn_on_loaded_batch
).
方法
初始化一个策略实例。
使用此 Policy 实例调用给定的函数。
应用(之前)计算的梯度。
计算当前策略的动作。
计算从收集的样本(跨多个代理)中得出的动作。
在给定一批经验的情况下计算梯度。
计算给定动作和观察的对数概率/似然。
计算并返回一个单一(B=1)的动作值。
将导出策略检查点保存到本地目录并返回一个 AIR 检查点。
将策略的模型导出到本地目录以供服务。
从给定的策略或算法检查点创建新的策略实例。
从状态对象中恢复策略。
从连接器获取时间指标。
返回此策略的探索组件的状态。
返回计算机的网络名称。
返回当前策略的初始RNN状态。
返回给定缓冲区中当前加载的样本数量。
返回用于计算动作的 tf.Session 对象,或返回 None。
返回此策略的当前整个状态。
返回模型权重。
从本地文件导入策略。
learn_on_batch()
和compute_actions
调用的最大视图需求字典。此策略是否持有循环模型。
执行一次学习更新,基于
samples
。从给定的回放缓存中采样一批数据并执行更新。
在已经加载到缓冲区中的数据上运行一次SGD的单步操作。
将给定的 SampleBatch 批量加载到设备的内存中。
此策略的损失函数。
返回 RL 模块(仅在启用 RLModule API 时)。
为循环 RLModules 添加时间维度。
移除循环 RLModules 的时间维度。
策略的RNN模型所需的内部状态数量。
在全局变量更新时调用。
实现特定算法的轨迹后处理。
重置此策略的操作连接器和代理连接器。
如果配置可用,则恢复代理和操作连接器。
从
state
恢复此策略的当前整个状态。设置此策略模型的权重。