code: def onnx_maxpool(x, kernel_shape, pads=None, strides=None):
      """Numpy-backed implementation of ONNX MaxPool op."""
      prefix = (1,) * (x.ndim - len(kernel_shape))
      dims = prefix + tuple(kernel_shape)
      pads = tuple(pads) if pads else [0] * len(kernel_shape)
      strides = (
          (prefix + tuple(strides))
          if strides
          else [1] * len(kernel_shape)
      )
      return [
          lax.reduce_window(
              x, -jnp.inf, lax.max, dims, strides, "VALID"
          )
      ]
  
file_path: jax/examples/onnx2xla.py
imports: from io import BytesIO
  import hashlib
  import urllib.request
  import sys
  import numpy
  import onnx
  from onnx import numpy_helper
  import jax.numpy
  from jax import jit, grad
  from jax import lax
label_desc: Use image node_id 2 for calling a global function with example usage: onnx_maxpool(x, kernel_shape, pads, strides) and returns: list