code: def _GenerateMatrix(self, shape):
      batch_shape = shape[:-2]
      shape = shape[-2:]
      assert shape[0] == shape[1]
      n = shape[0]
      matrix = np.ones(shape).astype(np.float32) / (2.0 * n) + np.diag(
          np.ones(n).astype(np.float32)
      )
      return variables.Variable(np.tile(matrix, batch_shape + (1, 1)))
  
imports: import itertools
  import numpy
  from tensorflow.python.client import session
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.ops.linalg import linalg_impl
  from tensorflow.python.platform import benchmark
  from tensorflow.python.platform import test
label_desc: Use image node_id 1 for calling the MatrixExponentialBenchmark obj's underlying member method code with example usage: obj._GenerateMatrix(shape) and returns: variables