class_docstr: Container class for n learning @ray.remote-turned policies.
  
  The container contains n "learner shards", each one consisting of one
  multi-agent replay buffer and m policy actors that share this replay
  buffer.
class_docstr_tok: ["Container","class","for","n","learning","@","ray.remote-turned","policies",".","The","container","contains","n","``","learner","shards","''",",","each","one","consisting","of","one","multi-agent","replay","buffer","and","m","policy","actors","that","share","this","replay","buffer","."]
docstr: Terminates all ray actors.
docstr_tok: ["Terminates","all","ray","actors","."]
code: def stop(self) -> None:
      """Terminates all ray actors."""
      for shard in self.shards:
          shard.stop()
  
imports: import math
  from typing import Any, Dict, List, Optional, Type
  import ray
  from ray.actor import ActorHandle
  from ray.rllib.algorithms.algorithm import Algorithm
  from ray.rllib.algorithms.algorithm_config import AlgorithmConfig
  from ray.rllib.policy.policy import PolicySpec
  from ray.rllib.utils.actors import create_colocated_actors
  from ray.rllib.utils.tf_utils import get_tf_eager_cls_if_necessary
  from ray.rllib.utils.typing import AlgorithmConfigDict, PolicyID
label_desc: Use image node_id 8 for calling the DistributedLearners obj's underlying member method code with example usage: obj.stop() without return types