class_docstr: Sample in a low-dimensional linear embedding.
  
  Generates points in [-1, 1]^D by generating points in a d-dimensional
  embedding, with box bounds as specified. When points are projected up, if
  they fall outside [-1, 1]^D they are clamped to those bounds.
  
  Args:
      A: A (Dxd) linear embedding
      bounds_d: Box bounds in the low-d space
      seed: seed for UniformGenerator
code: def __init__(
      self,
      A: np.ndarray,
      bounds_d: List[Tuple[float, float]],
      seed: Optional[int] = None,
  ) -> None:
      self.bounds_d = bounds_d
      self.A = A
      # pyre-fixme[4]: Attribute must be annotated.
      self.X_d_gen = []  # Store points in low-d space generated here
      super().__init__(seed=seed, deduplicate=False)
  
file_path: Ax/ax/models/random/rembo_initializer.py
imports: from typing import Callable, Dict, List, Optional, Tuple
  import numpy
  from ax.models.random.uniform import UniformGenerator
  from ax.models.types import TConfig
  from ax.utils.common.docutils import copy_doc
label_desc: Use image node_id 1 to create a new REMBOInitializer object from inherited base classes: UniformGenerator with example: obj = REMBOInitializer(A, bounds_d, seed)