code: def forward_pass(self, inputs, param_vector):
      new_shape = inputs.shape[:2]
      for i in [0, 1]:
          pool_width = self.pool_shape[i]
          img_width = inputs.shape[i + 2]
          new_shape += (img_width // pool_width, pool_width)
      result = inputs.reshape(new_shape)
      return np.max(np.max(result, axis=3), axis=4)
  
imports: from __future__ import absolute_import
  from __future__ import print_function
  from builtins import range
  import autograd.numpy
  import autograd.numpy.random
  import autograd.scipy.signal
  from autograd import grad
  import data_mnist
label_desc: Use image node_id 3 for calling the maxpool_layer obj's underlying member method code with example usage: obj.forward_pass(inputs, param_vector) and returns: np