code: def local_response_norm(
      x: Union[tf.Tensor, tf.Variable],
      size,
      /,
      *,
      bias: Optional[float] = 1.0,
      alpha: Optional[float] = 1.0,
      beta: Optional[float] = 0.5,
      average: bool = False,
      data_format: Optional[Literal["NHWC", "NCHW"]] = "NHWC",
      out: Optional[tf.Tensor] = None,
  ) -> tf.Tensor:
      if data_format == "NCHW":
          x = tf.transpose(x, (0, 2, 3, 1))
      # `alpha = alpha/size if average else alpha` was causing numerical instability
      if average:
          ret = tf.nn.local_response_normalization(
              x / math.sqrt(size),
              depth_radius=size // 2,
              bias=bias,
              alpha=alpha,
              beta=beta,
          ) * math.sqrt(size)
      else:
          ret = tf.nn.local_response_normalization(
              x,
              depth_radius=size // 2,
              bias=bias,
              alpha=alpha,
              beta=beta,
          )
      if data_format == "NCHW":
          ret = tf.transpose(ret, (0, 3, 1, 2))
      return ret
  
file_path: ivy/ivy/functional/backends/tensorflow/experimental/norms.py
imports: import tensorflow
  from typing import Literal, Union, Optional, Tuple
  from ivy.func_wrapper import with_supported_dtypes, with_unsupported_dtypes
  from .None import backend_version
  import math
label_desc: Use image node_id 3 for calling a global function with example usage: local_response_norm() and returns: ret