code: def shift(x, ksize=3, dilate=1):
      """Shift function.
  
      See: `Shift: A Zero FLOP, Zero Parameter Alternative to Spatial
      Convolutions <https://arxiv.org/abs/1711.08141>`_
  
      Args:
          x (:class:`~chainer.Variable` or :ref:`ndarray`):
              Input variable of shape :math:`(n, c, h, w)`.
          ksize (int or pair of ints): Size of filters (a.k.a. kernels).
              ``ksize=k`` and ``ksize=(k, k)`` are equivalent.
          dilate (int or pair of ints): Dilation factor of filter applications.
              ``dilate=d`` and ``dilate=(d, d)`` are equivalent.
  
      Returns:
          ~chainer.Variable:
              Output variable of same shape as ``x``.
      """
      fnode = Shift(ksize, dilate)
      (y,) = fnode.apply((x,))
      return y
  
file_path: chainer/chainer/functions/connection/shift.py
imports: import numpy
  from chainer.backends import cuda
  from chainer import function_node
  from chainer.utils import type_check
label_desc: Use image node_id 2 for calling a global function with example usage: shift(x, ksize, dilate) and returns: y