code: def sliding_window(data, axis, window_shape, strides):
      """Slide a window over the data tensor.
  
      Parameters
      ----------
      data : relay.Expr
          The input data to the operator.
  
      axis : int
          What axis the window begins sliding over. Window will be slid over
          this axis and all following axes. The axis value determines the window
          shape (and thus, the number of strides): window shape and strides must
          both be of length `data.ndim-axis`.
  
      window_shape : List[int]
          The window shape to form over the input. Window shape must be of length
          `data.ndim-axis`.
  
      strides : List[int]
          How to stride the window along each dimension. Strides must be of length
          `data.ndim-axis`.
  
      Returns
      -------
      result : relay.Expr
          The resulting tensor.
  
      Examples
      --------
      .. code-block:: python
  
          # Slide a window of shape (3, 4, 5) over the x tensor, beginning with
          # dimension 1, which slides the window over the two subtensors of
          # shape (3, 32, 32).
          x = relay.var("x", relay.TensorType((2, 3, 32, 32), "float32"))
          y = relay.sliding_window(x, 1, [3, 4, 5], [1, 2, 3])
  
          data = np.random.rand(2, 3, 32, 32).astype("float32")
          result = create_executor().evaluate(y, {x: relay.const(data)}).numpy()
  
          # The resulting shape still has batch size 2. Each dimension in
          # (1, 15, 10) represents the locations where we were able to
          # form a window; that is, we were able to place the window
          # in one place along the dimension of length 3, 15 places along
          # the dimension of length 32 (when striding by 2), and 10 places
          # along the second dimension of length 32 (when striding by 3).
          # The remaining dimension (3, 4, 5) represent the formed windows.
          assert result.shape == (2, 1, 15, 10, 3, 4, 5)
  
          assert np.array_equal(result[0, 0, 0, 0, :, :, :], data[0, :, 0:4, 0:5])
          assert np.array_equal(result[1, 0, 7, 3, :, :, :], data[1, :, 14:18, 9:14])
          assert np.array_equal(result[1, 0, 14, 9, :, :, :], data[1, :, 28:32, 27:32])
      """
      from .. import _ffi_api as _relay_make
  
      return _relay_make.sliding_window(
          data, axis, window_shape, strides
      )
  
imports: from ...tir import expr
  from ..expr import Constant, Expr, Tuple, TupleWrapper, const
  from .None import _make
  from .dyn import _make
  from .tensor import shape_of
label_desc: Use image node_id 1 for calling a global function with example usage: sliding_window(data, axis, window_shape, strides) and returns: _relay_make