class_docstr: The policy action distribution of an agent.
  
  Attributes:
      inputs: input vector to compute samples from.
      model (ModelV2): reference to model producing the inputs.
class_docstr_tok: ["The","policy","action","distribution","of","an","agent",".","Attributes",":","inputs",":","input","vector","to","compute","samples","from",".","model","(","ModelV2",")",":","reference","to","model","producing","the","inputs","."]
docstr: The KL-divergence between two action distributions.
  
  This differs from kl() in that it can return an array for
  MultiDiscrete. TODO(ekl) consider removing this.
docstr_tok: ["The","KL-divergence","between","two","action","distributions",".","This","differs","from","kl","(",")","in","that","it","can","return","an","array","for","MultiDiscrete",".","TODO","(","ekl",")","consider","removing","this","."]
code: def multi_kl(self, other: "ActionDistribution") -> TensorType:
      """The KL-divergence between two action distributions.
  
      This differs from kl() in that it can return an array for
      MultiDiscrete. TODO(ekl) consider removing this.
      """
      return self.kl(other)
  
file_path: ray/python/ray/rllib/models/action_dist.py
imports: import numpy
  import gymnasium
  from ray.rllib.models.modelv2 import ModelV2
  from ray.rllib.utils.annotations import DeveloperAPI
  from ray.rllib.utils.typing import TensorType, List, Union, ModelConfigDict
label_desc: Use image node_id 8 for calling the ActionDistribution obj's underlying member method code with example usage: obj.multi_kl(other) and returns: self