class_docstr: Apply logit transfor to a float RangeParameter domain.
  
  Transform is done in-place.
class_docstr_tok: ["Apply","logit","transfor","to","a","float","RangeParameter","domain",".","Transform","is","done","in-place","."]
code: def _transform_search_space(
      self, search_space: SearchSpace
  ) -> SearchSpace:
      for p_name, p in search_space.parameters.items():
          if p_name in self.transform_parameters and isinstance(
              p, RangeParameter
          ):
              p.set_logit_scale(False).update_range(
                  lower=logit(p.lower).item(),
                  upper=logit(p.upper).item(),
              )
              if p.target_value is not None:
                  p._target_value = logit(p.target_value).item()
      return search_space
  
file_path: Ax/ax/modelbridge/transforms/logit.py
imports: from typing import List, Optional, Set, TYPE_CHECKING
  from ax.core.observation import Observation, ObservationFeatures
  from ax.core.parameter import ParameterType, RangeParameter
  from ax.core.search_space import SearchSpace
  from ax.modelbridge.transforms.base import Transform
  from ax.models.types import TConfig
  from scipy.special import expit, logit
label_desc: Use image node_id 3 for calling the Logit obj's underlying member method code with example usage: obj._transform_search_space(search_space) and returns: search_space