code: def speed_neibs_half(self):
      shape = (100, 40, 18, 18)
      images = shared(
          np.arange(np.prod(shape), dtype="float32").reshape(shape)
      )
      neib_shape = T.as_tensor_variable((3, 3))
  
      f = function(
          [],
          images2neibs(images, neib_shape, mode="half"),
          mode=self.mode,
      )
  
      for i in range(1000):
          f()
  
imports: from __future__ import absolute_import, print_function, division
  import numpy
  import unittest
  import theano
  from theano import shared, function
  import theano.tensor
  from theano.tensor.nnet.neighbours import images2neibs, neibs2images, Images2Neibs
  from theano.tests import unittest_tools
  from theano import change_flags
label_desc: Use image node_id 21 for calling the T_Images2Neibs obj's underlying member method code with example usage: obj.speed_neibs_half() without return types