code: def setUp(self):
      self.inputs = [
          self._setup_tensor(-1, 1, shape, self.dtype)
          for shape in self.i_shapes
      ]
      self.g = self._setup_tensor(-1, 1, self.o_shape, self.dtype)
      self.gg_inputs = [
          self._setup_tensor(-1, 1, shape, self.dtype)
          for shape in self.i_shapes
      ]
      i_sub, o_sub = self.subscripts.split("->")
      self.op = lambda *xs: diag_einsum(
          i_sub, o_sub, *xs, output_shape=self.o_shape
      )
  
imports: import unittest
  import numpy
  import chainer
  from chainer.backends import cuda
  from chainer.functions.math import einsum
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import attr
  from chainer import utils
label_desc: Use image node_id 1 for calling the TestDiagEinSum obj's underlying member method code with example usage: obj.setUp() without return types