def METHOD_NAME(self):
    start = time.time()
    x_data = np.random.random(self.x_shape).astype("float32")
    self.executor = Interpreter([self.input_tensor], [self.x_shape])
    print("self.mode_dir is:", self.model_dir)
    # True means load combined model
    self.executor.load_paddle_model(self.model_dir, self.target, True,
                                    "mobilenetv2")
    end1 = time.time()
    print("load_paddle_model time is: %.3f sec" % (end1 - start))
    a_t = self.executor.get_tensor(self.input_tensor)
    a_t.from_numpy(x_data, self.target)
    out = self.executor.get_tensor(self.target_tensor)
    out.from_numpy(np.zeros(out.shape(), dtype='float32'), self.target)
    for i in range(10):
        self.executor.run()
    repeat = 10
    end4 = time.perf_counter()
    for i in range(repeat):
        self.executor.run()
    end5 = time.perf_counter()
    print("Repeat %d times, average Executor.run() time is: %.3f ms" %
          (repeat, (end5 - end4) * 1000 / repeat))
    a_t.from_numpy(x_data, self.target)
    out.from_numpy(np.zeros(out.shape(), dtype='float32'), self.target)
    self.executor.run()
    out = out.numpy(self.target)
    target_result = self.get_paddle_inference_result(
        self.model_dir, x_data)
    print("result in test_model: \n")
    out = out.reshape(-1)
    target_result = target_result.reshape(-1)
    for i in range(0, min(out.shape[0], 200)):
        if np.abs(out[i] - target_result[i]) > 1e-1:
            print("Error! ", i, "-th data has diff with target data:\n",
                  out[i], " vs: ", target_result[i], ". Diff is: ",
                  out[i] - target_result[i])
    # TODO(thisjiang): revert atol to 1e-3 after fix inference mul problem
    self.assertTrue(np.allclose(out, target_result, atol=1e-1))