code: def interpolate(
      x: JaxArray,
      size: Union[Sequence[int], int],
      /,
      *,
      mode: Literal[
          "linear",
          "bilinear",
          "trilinear",
          "nd",
          "nearest",
          "area",
          "nearest_exact",
          "tf_area",
          "tf_bicubic",
          "bicubic",
          "mitchellcubic",
          "lanczos3",
          "lanczos5",
          "gaussian",
      ] = "linear",
      scale_factor: Optional[Union[Sequence[int], int]] = None,
      recompute_scale_factor: Optional[bool] = None,
      align_corners: bool = False,
      antialias: bool = False,
      out: Optional[JaxArray] = None,
  ):
      input_size = ivy.shape(x)[2:]
      dims = len(input_size)
      size, _ = _get_size(scale_factor, size, dims, input_size)
      if all(a == b for a, b in zip(size, input_size)):
          ret = x
      else:
          mode = (
              "nearest"
              if mode == "nearest-exact"
              else "bicubic"
              if mode == "tf_bicubic"
              else mode
          )
  
          size = [x.shape[0], *size, x.shape[1]]
          x = jnp.transpose(x, (0, *range(2, dims + 2), 1))
          ret = jnp.transpose(
              jax.image.resize(
                  x, shape=size, method=mode, antialias=antialias
              ),
              (0, dims + 1, *range(1, dims + 1)),
          )
      if ivy.exists(out):
          return ivy.inplace_update(out, ret)
      return ret
  
imports: from typing import Optional, Union, Tuple, List, Literal, Sequence, Callable
  import jax
  import jax.lax
  import jax.numpy
  import math
  import ivy
  from ivy import output_to_native_arrays
  from ivy.functional.backends.jax import JaxArray
  from ivy.functional.backends.jax.random import RNG
  from ivy.functional.ivy.experimental.general import _correct_ivy_callable
  from ivy.functional.ivy.layers import _handle_padding, _validate_max_pool_params, _depth_max_pooling_helper
  from ivy.functional.ivy.experimental.layers import _padding_ceil_mode, _get_size
  from ivy.func_wrapper import with_supported_dtypes
  from ivy.func_wrapper import with_unsupported_dtypes
  from .None import backend_version
  from ivy.functional.backends.jax.experimental.manipulation import _to_nested_tuple
label_desc: Use image node_id 17 for calling a global function with example usage: interpolate() and returns: ret, ivy