code: def testIteratedGradientsNested(self):
      def _grad(f):
          def _grad_function(primal):
              with backprop.GradientTape() as tape:
                  tape.watch(primal)
                  primal_out = f(primal)
              return tape.gradient(primal_out, primal)
  
          return _grad_function
  
      @polymorphic_function.function
      def _forward(x):
          return math_ops.cos(x)
  
      f = _forward
      traced_f = polymorphic_function.function(f)
      one = constant_op.constant(1.0)
      for expected in _COS_DERIVATIVES:
          self.assertAllClose(expected(one), f(one))
          self.assertAllClose(expected(one), traced_f(one))
          self.assertAllClose(
              expected(one), polymorphic_function.function(f)(one)
          )
          f = _grad(f)
          traced_f = polymorphic_function.function(_grad(traced_f))
  
imports: from absl.testing import parameterized
  from tensorflow.python.eager import backprop
  from tensorflow.python.eager import context
  from tensorflow.python.eager.polymorphic_function import polymorphic_function
  from tensorflow.python.framework import config
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import cond
  from tensorflow.python.ops import gradients_impl
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import nn_grad
  from tensorflow.python.ops import nn_ops
  from tensorflow.python.ops import resource_variable_ops
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.ops import variables
  from tensorflow.python.ops import while_loop
  from tensorflow.python.platform import test
label_desc: Use image node_id 6 for calling the FunctionGradientsTest obj's underlying member method code with example usage: obj.testIteratedGradientsNested() and returns: _grad_function, math_ops, tape