class_docstr: Checking speed on a vanilla RNN.
code: def setup(self):
      self.batch_size = 16
      self.dtype = "float32"
      self.D = 2**10
      self.x = 0.01 * np.random.randn(self.batch_size, self.D).astype(
          self.dtype
      )
      self.W1 = 0.01 * np.random.randn(self.D, self.D).astype(
          self.dtype
      )
      self.b1 = 0.01 * np.random.randn(self.D).astype(self.dtype)
      self.Wout = 0.01 * np.random.randn(self.D, 1).astype(self.dtype)
      self.bout = 0.01 * np.random.randn(1).astype(self.dtype)
      self.l = (np.random.rand(self.batch_size, 1) > 0.5).astype(
          self.dtype
      )
      self.n = 50
  
      def autograd_rnn(params, x, label, n):
          W, b, Wout, bout = params
          h1 = x
          for i in range(n):
              h1 = np.tanh(np.dot(h1, W) + b)
          logit = np.dot(h1, Wout) + bout
          loss = -np.sum(
              label * logit - (logit + np.log(1 + np.exp(-logit)))
          )
          return loss
  
      self.fn = autograd_rnn
      self.grad_fn = grad(self.fn)
  
file_path: autograd/benchmarks/bench_rnn.py
imports: from autograd import grad
  import autograd.numpy
label_desc: Use image node_id 1 for calling the RNNSuite obj's underlying member method code with example usage: obj.setup() and returns: loss