class_docstr: Images2Neibs for the GPU.
class_docstr_tok: ["Images2Neibs","for","the","GPU","."]
code: def make_node(self, ten4, neib_shape, neib_step=None):
      ten4 = as_gpuarray_variable(ten4, infer_context_name(ten4))
      neib_shape = T.as_tensor_variable(neib_shape)
      if neib_step is None:
          neib_step = neib_shape
      else:
          neib_step = T.as_tensor_variable(neib_step)
  
      assert ten4.ndim == 4
      assert neib_shape.ndim == 1
      assert neib_step.ndim == 1
      assert neib_shape.dtype in T.integer_dtypes
      assert neib_step.dtype in T.integer_dtypes
  
      return Apply(
          self,
          [ten4, neib_shape, neib_step],
          [
              GpuArrayType(
                  broadcastable=(False, False),
                  dtype=ten4.type.dtype,
                  context_name=ten4.type.context_name,
              )()
          ],
      )
  
file_path: Theano/theano/gpuarray/neighbours.py
imports: from __future__ import absolute_import, print_function, division
  from theano import Op, Apply
  from theano.gof import ParamsType
  from theano.tensor.nnet.neighbours import Images2Neibs
  import theano.tensor
  from .basic_ops import as_gpuarray_variable, GpuKernelBase, Kernel, infer_context_name
  from .type import GpuArrayType, gpu_context_type
label_desc: Use image node_id 2 for calling the GpuImages2Neibs obj's underlying member method code with example usage: obj.make_node(ten4, neib_shape, neib_step) and returns: Apply