code: def test_invalid_number_of_inputs(self):
      optimizer = algorithms.GradientDescent(
          [
              layers.parallel(
                  layers.Input((10, 10, 3)),
                  layers.Input((10, 10, 3)),
              ),
              layers.Concatenate(),
              layers.Convolution((3, 3, 3), padding="same"),
          ],
          batch_size=None,
          verbose=False,
          loss="mse",
      )
  
      image = np.random.random((10, 10, 3))
      optimizer.train([image, image], image, epochs=1)
  
      message = (
          "Number of inputs doesn't match number "
          "of input layers in the network."
      )
      with self.assertRaisesRegexp(ValueError, message):
          optimizer.train(image, image, epochs=1)
  
file_path: neupy/tests/algorithms/gd/test_gd.py
imports: import pickle
  import numpy
  import tensorflow
  from neupy import algorithms, layers
  from neupy.algorithms.gd import objectives
  from neupy.exceptions import InvalidConnection
  from base import BaseTestCase
  from helpers import simple_classification
label_desc: Use image node_id 8 for calling the GradientDescentTestCase obj's underlying member method code with example usage: obj.test_invalid_number_of_inputs() without return types