code: def testValues(self):
      batch_size = 2
      hidden_size = 4
      input_size = 8
      inputs = tf.random.uniform([batch_size, input_size])
  
      rnn = control.FeedForward(hidden_size, activation=tf.identity)
      prev_state = rnn.initial_state(batch_size=batch_size)
      output, next_state = rnn(inputs, prev_state)
  
      weight, bias = rnn.linear.w, rnn.linear.b
  
      expected_output = (
          np.dot(inputs.numpy(), weight.numpy()) + bias.numpy()
      )
  
      self.assertAllClose(output.numpy(), expected_output, atol=1e-2)
      # State should remain at dummy value.
      self.assertAllClose(
          prev_state.numpy(), next_state.numpy(), atol=5e-3
      )
  
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 2 for calling the FeedForwardTest obj's underlying member method code with example usage: obj.testValues() without return types