code: def generate_grad_outputs(self, outputs_template):
      grad_outputs = tuple(
          [
              numpy.random.uniform(-1, 1, a.shape).astype(a.dtype)
              for a in outputs_template
          ]
      )
  
      if self.grad_outputs_is_none is not None:
          assert len(self.grad_outputs_is_none) == len(grad_outputs)
          grad_outputs = tuple(
              None if is_none else g
              for is_none, g, in six.moves.zip(
                  self.grad_outputs_is_none, grad_outputs
              )
          )
  
      return grad_outputs
  
imports: import unittest
  import numpy
  import six
  import chainer
  from chainer import functions
  from chainer import testing
  from chainer.testing import backend
label_desc: Use image node_id 2 for calling the TestSplitAxis obj's underlying member method code with example usage: obj.generate_grad_outputs(outputs_template) and returns: grad_outputs