code: def get_generation_strategy_sqa(
      gs_id: int,
      decoder: Decoder,
      # pyre-fixme[2]: Parameter annotation cannot contain `Any`.
      query_options: Optional[List[Any]] = None,
  ) -> SQAGenerationStrategy:
      """Obtains the SQLAlchemy generation strategy object from DB."""
      gs_sqa_class = cast(
          Type[SQAGenerationStrategy],
          decoder.config.class_to_sqa_class[GenerationStrategy],
      )
      with session_scope() as session:
          query = session.query(gs_sqa_class).filter_by(id=gs_id)
          if query_options:
              query = query.options(*query_options)
          gs_sqa = query.one_or_none()
      if gs_sqa is None:
          raise ObjectNotFoundError(
              f"Generation strategy with ID #{gs_id} not found."
          )
      return gs_sqa
  
imports: from math import ceil
  from typing import Any, cast, Dict, List, Optional, Type
  from ax.core.experiment import Experiment
  from ax.core.generator_run import GeneratorRun
  from ax.core.metric import Metric
  from ax.core.trial import Trial
  from ax.exceptions.core import ExperimentNotFoundError, ObjectNotFoundError
  from ax.modelbridge.generation_strategy import GenerationStrategy
  from ax.storage.sqa_store.db import session_scope
  from ax.storage.sqa_store.decoder import Decoder
  from ax.storage.sqa_store.reduced_state import get_query_options_to_defer_immutable_duplicates, get_query_options_to_defer_large_model_cols
  from ax.storage.sqa_store.sqa_classes import SQAExperiment, SQAGenerationStrategy, SQAGeneratorRun, SQATrial
  from ax.storage.sqa_store.sqa_config import SQAConfig
  from ax.utils.common.constants import Keys
  from ax.utils.common.typeutils import checked_cast, not_none
  from sqlalchemy.orm import defaultload, lazyload, noload
  from sqlalchemy.orm.exc import DetachedInstanceError
label_desc: Use image node_id 14 for calling a global function with example usage: get_generation_strategy_sqa(gs_id, decoder, query_options) and returns: gs_sqa