code: def testShape(self):
      batch_size = 2
      hidden_size = 4
      inputs = tf.random.uniform(shape=[batch_size, hidden_size])
      rnn = control.FeedForward(hidden_size)
      prev_state = rnn.initial_state(batch_size=batch_size)
      output, next_state = rnn(inputs, prev_state)
  
      output_shape = np.ndarray((batch_size, hidden_size))
      state_shape = np.ndarray((batch_size, 1))
  
      self.assertShapeEqual(output_shape, output)
      self.assertShapeEqual(state_shape, next_state)
  
file_path: sonnet/sonnet/src/nets/dnc/control_test.py
imports: from absl.testing import parameterized
  import numpy
  from sonnet.src import recurrent
  from sonnet.src import test_utils
  from sonnet.src.nets.dnc import control
  import tensorflow
  import tree
label_desc: Use image node_id 1 for calling the FeedForwardTest obj's underlying member method code with example usage: obj.testShape() without return types