code: def _back_over_back_hvp(model, images, labels, vector):
      with tf.GradientTape() as outer_tape:
          with tf.GradientTape() as inner_tape:
              logits = model(images, training=True)
              loss = tf.compat.v1.losses.softmax_cross_entropy(
                  logits=logits, onehot_labels=labels
              )
          grads = inner_tape.gradient(loss, model.trainable_variables)
      return outer_tape.gradient(
          grads, model.trainable_variables, output_gradients=vector
      )
  
imports: import gc
  import time
  from absl.testing import parameterized
  import tensorflow
  from tensorflow.python.eager import forwardprop
  from tensorflow.python.eager.benchmarks.resnet50 import resnet50
  from tensorflow.python.eager.benchmarks.resnet50 import resnet50_test_util
label_desc: Use image node_id 4 for calling a global function with example usage: _back_over_back_hvp(model, images, labels, vector) and returns: outer_tape