ray.rllib.algorithms.algorithm.Algorithm.remove_policy#

Algorithm.remove_policy(policy_id: str = 'default_policy', *, policy_mapping_fn: Callable[[Any], str] | None = None, policies_to_train: Collection[str] | Callable[[str, SampleBatch | MultiAgentBatch | Dict[str, Any] | None], bool] | None = None, remove_from_learners: bool = True, remove_from_env_runners: bool = True, remove_from_eval_env_runners: bool = True, evaluation_workers=-1) None[源代码]#

从此算法中移除一个策略。

参数:
  • policy_id – 要删除的策略的ID。

  • policy_mapping_fn – 一个可选的(更新后的)策略映射函数,从此处开始使用。请注意,已经进行中的情节不会更改其映射,而是会继续使用旧的映射,直到该情节结束。

  • policies_to_train – 一个可选的策略ID列表,用于指定要训练的策略,或者是一个可调用的函数,该函数接受PolicyID和SampleBatchType并返回一个布尔值(是否可训练?)。如果为None,将保持现有的设置不变。不在列表中的策略ID(或可调用函数返回False的策略)将不会被更新。

  • remove_from_learners – 是否从 LearnerGroup 中移除策略(及其 n 个学习者)。仅在混合 API 堆栈(带有学习者,但没有 EnvRunners)上有效。

  • remove_from_env_runners – 是否从 EnvRunnerGroup 中移除策略(包括其 m 个 EnvRunners 以及本地的)。

  • remove_from_eval_env_runners – 是否从评估 EnvRunnerGroup 中移除 RLModule(及其 o EnvRunners 加上本地的那个)。