code: def _compute_output_shape(
      recipe: TransformRecipe, input_shape
  ) -> List[Optional[int]]:
      input_shape = [
          UnknownSize() if d is None else int(d) for d in input_shape
      ]
      (
          init_shapes,
          reduced_axes,
          axes_reordering,
          added_axes,
          final_shape,
      ) = _reconstruct_from_shape_uncached(recipe, input_shape)
      output_shape: List[Optional[int]] = [
          None if isinstance(d, UnknownSize) else int(d)
          for d in final_shape
      ]
      return output_shape
  
imports: from typing import List, Optional, Dict, cast
  import tensorflow
  from tensorflow.keras.layers import Layer
  from .._backends import UnknownSize
  from .None import RearrangeMixin, ReduceMixin
  from ._einmix import _EinmixMixin
  from ..einops import TransformRecipe, _reconstruct_from_shape_uncached
label_desc: Use image node_id 1 for calling a global function with example usage: _compute_output_shape(recipe, input_shape) and returns: output_shape