code: def call_gen_adv_neighbor_with_gradient_tape(x, loss_fn, adv_config):
      with tf.GradientTape() as tape:
          tape.watch(x)
          loss = loss_fn(x)
      adv_neighbor, _ = adv_lib.gen_adv_neighbor(
          x, loss, adv_config, gradient_tape=tape
      )
      return adv_neighbor
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  from absl.testing import parameterized
  import neural_structured_learning.configs
  from neural_structured_learning.lib import adversarial_neighbor
  import numpy
  import tensorflow
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 1 for calling a global function with example usage: call_gen_adv_neighbor_with_gradient_tape(x, loss_fn, adv_config) and returns: adv_neighbor