class_docstr: Categorical distribution with noise for MultiDiscrete action spaces.
class_docstr_tok: ["Categorical","distribution","with","noise","for","MultiDiscrete","action","spaces","."]
docstr: Args:
      other: object of SoftCategoricalDistribution
  
  Returns:
      kl: A float32 tensor with shape [BATCH_SIZE]
docstr_tok: ["Args",":","other",":","object","of","SoftCategoricalDistribution","Returns",":","kl",":","A","float32","tensor","with","shape","[","BATCH_SIZE","]"]
code: def kl(self, other):
      """
      Args:
          other: object of SoftCategoricalDistribution
  
      Returns:
          kl: A float32 tensor with shape [BATCH_SIZE]
      """
      return self.layers_add_n(
          [
              p.kl(q)
              for p, q in zip(self.categoricals, other.categoricals)
          ]
      )
  
imports: import paddle
  import paddle.nn.functional
  import numpy
label_desc: Use image node_id 5 for calling the SoftMultiCategoricalDistribution obj's underlying member method code with example usage: obj.kl(other) and returns: self