code: def build_weights_dict(self, input_shape):
      # Input shape : [color, y, x] (don't need to know number of data yet)
      self.parser = WeightsParser()
      self.parser.add_weights(
          "params",
          (input_shape[0], self.num_filters) + self.kernel_shape,
      )
      self.parser.add_weights("biases", (1, self.num_filters, 1, 1))
      output_shape = (self.num_filters,) + self.conv_output_shape(
          input_shape[1:], self.kernel_shape
      )
      return self.parser.N, output_shape
  
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 conv_layer obj's underlying member method code with example usage: obj.build_weights_dict(input_shape) and returns: self,  output_shape