class_docstr: Convert a RangeParameter of type int to type float.
  
  Uses either randomized_rounding or default python rounding,
  depending on 'rounding' flag.
  
  The `min_choices` config can be used to transform only the parameters
  with cardinality greater than or equal to `min_choices`; with the exception
  of `log_scale` parameters, which are always transformed.
  
  Transform is done in-place.
class_docstr_tok: ["Convert","a","RangeParameter","of","type","int","to","type","float",".","Uses","either","randomized_rounding","or","default","python","rounding",",","depending","on","'rounding","'","flag",".","The","`","min_choices","`","config","can","be","used","to","transform","only","the","parameters","with","cardinality","greater","than","or","equal","to","`","min_choices","`",";","with","the","exception","of","`","log_scale","`","parameters",",","which","are","always","transformed",".","Transform","is","done","in-place","."]
code: def transform_observation_features(
      self, observation_features: List[ObservationFeatures]
  ) -> List[ObservationFeatures]:
      for obsf in observation_features:
          for p_name in self.transform_parameters:
              if p_name in obsf.parameters:
                  # pyre: param is declared to have type `int` but is used
                  # pyre-fixme[9]: as type `Optional[typing.Union[bool, float, str]]`.
                  param: int = obsf.parameters[p_name]
                  obsf.parameters[p_name] = float(param)
      return observation_features
  
file_path: Ax/ax/modelbridge/transforms/int_to_float.py
imports: from logging import Logger
  from typing import Dict, List, Optional, Set, TYPE_CHECKING
  from ax.core.observation import Observation, ObservationFeatures
  from ax.core.parameter import Parameter, ParameterType, RangeParameter
  from ax.core.search_space import SearchSpace
  from ax.modelbridge.transforms.base import Transform
  from ax.modelbridge.transforms.rounding import contains_constrained_integer, randomized_round_parameters
  from ax.modelbridge.transforms.utils import construct_new_search_space
  from ax.models.types import TConfig
  from ax.utils.common.logger import get_logger
  from ax.utils.common.typeutils import checked_cast, not_none
label_desc: Use image node_id 2 for calling the IntToFloat obj's underlying member method code with example usage: obj.transform_observation_features(observation_features) and returns: observation_features