class_docstr: A distribution induced by applying a tanh transformation to a Gaussian random variable.
  
  Algorithms like SAC and Pearl use this transformed distribution.
  It can be thought of as a distribution of X where
      :math:`Y ~ \mathcal{N}(\mu, \sigma)`
      :math:`X = tanh(Y)`
  
  Args:
      loc (torch.Tensor): The mean of this distribution.
      scale (torch.Tensor): The stdev of this distribution.
class_docstr_tok: ["A","distribution","induced","by","applying","a","tanh","transformation","to","a","Gaussian","random","variable",".","Algorithms","like","SAC","and","Pearl","use","this","transformed","distribution",".","It","can","be","thought","of","as","a","distribution","of","X","where",":","math",":","`","Y","~","\\mathcal","{","N","}","(","\\mu",",","\\sigma",")","`",":","math",":","`","X","=","tanh","(","Y",")","`","Args",":","loc","(","torch.Tensor",")",":","The","mean","of","this","distribution",".","scale","(","torch.Tensor",")",":","The","stdev","of","this","distribution","."]
docstr: Returns tensor containing all values supported by a discrete dist.
  
  The result will enumerate over dimension 0, so the shape
  of the result will be `(cardinality,) + batch_shape + event_shape`
  (where `event_shape = ()` for univariate distributions).
  
  Note that this enumerates over all batched tensors in lock-step
  `[[0, 0], [1, 1], ...]`. With `expand=False`, enumeration happens
  along dim 0, but with the remaining batch dimensions being
  singleton dimensions, `[[0], [1], ..`.
  
  To iterate over the full Cartesian product use
  `itertools.product(m.enumerate_support())`.
  
  Args:
      expand (bool): whether to expand the support over the
          batch dims to match the distribution's `batch_shape`.
  
  Note:
      Calls the enumerate_support function of the underlying normal
      distribution.
  
  Returns:
      torch.Tensor: Tensor iterating over dimension 0.
docstr_tok: ["Returns","tensor","containing","all","values","supported","by","a","discrete","dist",".","The","result","will","enumerate","over","dimension","0",",","so","the","shape","of","the","result","will","be","`","(","cardinality",",",")","+","batch_shape","+","event_shape","`","(","where","`","event_shape","=","(",")","`","for","univariate","distributions",")",".","Note","that","this","enumerates","over","all","batched","tensors","in","lock-step","`","[","[","0",",","0","]",",","[","1",",","1","]",",","...","]","`",".","With","`","expand=False","`",",","enumeration","happens","along","dim","0",",","but","with","the","remaining","batch","dimensions","being","singleton","dimensions",",","`","[","[","0","]",",","[","1","]",",","..","`",".","To","iterate","over","the","full","Cartesian","product","use","`","itertools.product","(","m.enumerate_support","(",")",")","`",".","Args",":","expand","(","bool",")",":","whether","to","expand","the","support","over","the","batch","dims","to","match","the","distribution","'s","`","batch_shape","`",".","Note",":","Calls","the","enumerate_support","function","of","the","underlying","normal","distribution",".","Returns",":","torch.Tensor",":","Tensor","iterating","over","dimension","0","."]
code: def enumerate_support(self, expand=True):
      """Returns tensor containing all values supported by a discrete dist.
  
      The result will enumerate over dimension 0, so the shape
      of the result will be `(cardinality,) + batch_shape + event_shape`
      (where `event_shape = ()` for univariate distributions).
  
      Note that this enumerates over all batched tensors in lock-step
      `[[0, 0], [1, 1], ...]`. With `expand=False`, enumeration happens
      along dim 0, but with the remaining batch dimensions being
      singleton dimensions, `[[0], [1], ..`.
  
      To iterate over the full Cartesian product use
      `itertools.product(m.enumerate_support())`.
  
      Args:
          expand (bool): whether to expand the support over the
              batch dims to match the distribution's `batch_shape`.
  
      Note:
          Calls the enumerate_support function of the underlying normal
          distribution.
  
      Returns:
          torch.Tensor: Tensor iterating over dimension 0.
  
      """
      return self._normal.enumerate_support(expand)
  
file_path: garage/src/garage/torch/distributions/tanh_normal.py
imports: import torch
  from torch.distributions import Normal
  from torch.distributions.independent import Independent
label_desc: Use image node_id 10 for calling the TanhNormal obj's underlying member method code with example usage: obj.enumerate_support(expand) and returns: self