code: def input_choice_formula(
      module: nas_nn.InputChoice, input_tensors: list[ShapeTensor]
  ) -> MutableShape:
      if module.n_chosen != 1:
          raise ValueError(
              f"Input choice with multiple choices (e.g., n_chosen = {module.n_chosen}) is not supported yet."
          )
      assert len(input_tensors) > 0
      for tensor in input_tensors:
          if tensor.real_shape != input_tensors[0].real_shape:
              _logger.warning(
                  "Expected all input tensors to a input choice to have the same input shape, but found ",
                  "%s vs. %s",
                  tensor.real_shape,
                  input_tensors[0].real_shape,
              )
      return extract_shape_info(input_tensors[0])
  
imports: from __future__ import annotations
  import logging
  import warnings
  from typing import Callable, Type, Tuple, Any, cast
  import torch
  from torch import nn
  import nni.nas.nn.pytorch
  from nni.mutable import MutableExpression
  from .shape import Formula, ShapeTensor, MutableShape, extract_shape_info, switch_case_shape_info, shape_inference
  from ._attrs import _getattr, tuple_2_t
label_desc: Use image node_id 14 for calling a global function with example usage: input_choice_formula(module, input_tensors) and returns: extract_shape_info