code: def _verifyExponential(self, x, np_type):
      inp = x.astype(np_type)
      with test_util.use_gpu():
          tf_ans = linalg_impl.matrix_exponential(inp)
          if x.size == 0:
              np_ans = np.empty(x.shape, dtype=np_type)
          else:
              if x.ndim > 2:
                  np_ans = np.zeros(inp.shape, dtype=np_type)
                  for i in itertools.product(
                      *[range(x) for x in inp.shape[:-2]]
                  ):
                      np_ans[i] = np_expm(inp[i])
              else:
                  np_ans = np_expm(inp)
          out = self.evaluate(tf_ans)
          self.assertAllClose(np_ans, out, rtol=1e-3, atol=1e-3)
  
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 ExponentialOpTest obj's underlying member method code with example usage: obj._verifyExponential(x, np_type) without return types