class_docstr: Bernoulli Torch probability distribution for multi-binary action spaces.
  
  :param logits: the action selection logits.
  :param action_space: The gym action space.
  :param temperature: The distribution temperature parameter.
class_docstr_tok: ["Bernoulli","Torch","probability","distribution","for","multi-binary","action","spaces",".",":","param","logits",":","the","action","selection","logits",".",":","param","action_space",":","The","gym","action","space",".",":","param","temperature",":","The","distribution","temperature","parameter","."]
docstr: implementation of :class:`~maze.distributions.distribution.ProbabilityDistribution` interface
          
docstr_tok: ["implementation","of",":","class",":","`","~maze.distributions.distribution.ProbabilityDistribution","`","interface"]
code: def kl(self, other: "TorchProbabilityDistribution") -> torch.Tensor:
      """implementation of :class:`~maze.distributions.distribution.ProbabilityDistribution` interface"""
      return kl_divergence(self.dist, other.dist).mean(dim=-1)
  
file_path: maze/maze/distributions/bernoulli.py
imports: from typing import Sequence
  import torch
  from gym import spaces
  from torch.distributions import Bernoulli, kl_divergence
  from maze.core.annotations import override
  from maze.distributions.torch_dist import TorchProbabilityDistribution
label_desc: Use image node_id 6 for calling the BernoulliProbabilityDistribution obj's underlying member method code with example usage: obj.kl(other) and returns: kl_divergence