code: def generate_grad_outputs(self, outputs_template):
      grad_out = []
      c = outputs_template[0]
      h = outputs_template[1]
  
      c_shape = c.shape
      h_shape = h.shape
      if self.grad_outputs[0] is True:
          grad_out.append(
              numpy.random.uniform(-1, 1, h_shape).astype(h.dtype)
          )
      else:
          grad_out.append(None)
  
      if self.grad_outputs[1] is True:
          grad_out.append(
              numpy.random.uniform(-1, 1, c_shape).astype(c.dtype)
          )
      else:
          grad_out.append(None)
      return tuple(grad_out)
  
imports: import unittest
  import numpy
  import six
  from chainer.backends import cuda
  from chainer import functions
  from chainer.functions.rnn import slstm
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import backend
label_desc: Use image node_id 5 for calling the TestSLSTM obj's underlying member method code with example usage: obj.generate_grad_outputs(outputs_template) and returns: tuple