code: def _apply_backward(self, x, grid, grads):
      x = Variable(x)
      grid = Variable(grid)
      y = functions.spatial_transformer_sampler(x, grid)
      x.cleargrad()
      grid.cleargrad()
      y.grad = grads
      y.backward()
      return x, grid, y
  
imports: import unittest
  import numpy
  import chainer
  from chainer.backends import cuda
  from chainer import functions
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import attr
  from chainer.testing import condition
  from chainer import Variable
label_desc: Use image node_id 2 for calling the TestSpatialTransformerSamplerConsistencyWithCuDNN obj's underlying member method code with example usage: obj._apply_backward(x, grid, grads) and returns: x,  grid,  y