class_docstr: Bounds all real values into [a_min, a_max] using a tanh transform.
  Beware, tanh goes very fast to its limits.
  
  Parameters
  ----------
  a_min: float
  a_max: float
class_docstr_tok: ["Bounds","all","real","values","into","[","a_min",",","a_max","]","using","a","tanh","transform",".","Beware",",","tanh","goes","very","fast","to","its","limits",".","Parameters","--","--","--","--","--","a_min",":","float","a_max",":","float"]
code: def __init__(
      self,
      a_min: tp.Union[tp.ArrayLike, float],
      a_max: tp.Union[tp.ArrayLike, float],
  ) -> None:
      super().__init__(a_min=a_min, a_max=a_max)
      if self.a_min is None or self.a_max is None:
          raise ValueError("Both bounds must be specified")
      self._b = 0.5 * (self.a_max + self.a_min)
      self._a = 0.5 * (self.a_max - self.a_min)
      self.name = f"Th({_f(a_min)},{_f(a_max)})"
  
imports: import uuid
  import itertools
  import numpy
  from scipy import stats
  import nevergrad.common.typing
  from .None import utils
label_desc: Use image node_id 1 to create a new TanhBound object from inherited base classes: BoundTransform with example: obj = TanhBound(a_min, a_max)