code: def canonicalize_named_axis(named_axes):
      """Converts an input into a list of named axis `str`s."""
      if named_axes is None:
          return []
      if isinstance(named_axes, str) or not isinstance(
          named_axes, collections.abc.Iterable
      ):
          named_axes = [named_axes]
      if len(named_axes) > 1 and not JAX_MODE:
          raise ValueError(
              f"TensorFlow backend does not support multiple shard axes: {named_axes}"
          )
      return list(named_axes)
  
imports: import collections
  import functools
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import custom_gradient
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import samplers
  from tensorflow.python.util import nest
label_desc: Use image node_id 1 for calling a global function with example usage: canonicalize_named_axis(named_axes) and returns: list, list