def _benchmark_defun_matmul_forward_backward(self, m, transpose_b, num_iters, execution_mode=None):
    f = function.defun(math_ops.matmul)

    def func():
        with backprop.GradientTape() as gt:
            gt.watch(m)
            y = f(m, m, transpose_b=transpose_b)
        _ = gt.gradient(y, m)
    self._run(func, num_iters, execution_mode=execution_mode)
def _benchmark_defun_matmul_forward_backward(self, m, transpose_b, num_iters, execution_mode=None):
    f = function.defun(math_ops.matmul)

    def func():
        with backprop.GradientTape() as gt:
            gt.watch(m)
            y = f(m, m, transpose_b=transpose_b)
        _ = gt.gradient(y, m)
    self._run(func, num_iters, execution_mode=execution_mode)