ray.rllib.policy.policy_map.PolicyMap.__init__#

PolicyMap.__init__(*, capacity: int = 100, policy_states_are_swappable: bool = False, worker_index=None, num_workers=None, policy_config=None, session_creator=None, seed=None)[源代码]#

初始化一个 PolicyMap 实例。

参数:
  • capacity – 策略对象缓存的大小。这是RAM内存中保留的最大策略数量。当达到此容量时,最近最少使用的策略状态将被存储在Ray对象存储中,并在再次访问时从那里恢复。

  • policy_states_are_swappable – 此映射中的所有策略对象是否可以通过简单的 state = A.get_state(); B.set_state(state) 进行“交换”,其中 AB 是此映射中的策略实例。如果你的所有策略都共享相同的神经网络架构和优化器类型,你应该将此设置为 True,以显著加快 PolicyMap 的缓存查找时间。如果为 True,PolicyMap 将不需要垃圾回收旧的、最近最少使用的策略,而是将它们保留在内存中,并简单地用最近访问的策略的状态覆盖它们的状态。例如,在基于联盟的训练设置中,你的映射中可能有数百个相同的策略(以各种组合相互对战),但它们都共享相同的状态结构(可以“交换”)。