code: def _test_multi_iter_gen_adv_neighbor_should_ignore_sparse_tensors_setup(
      self,
  ):
      @tf.function
      def model_fn(inp):
          prod_sparse = tf.reduce_sum(
              tf.sparse.sparse_dense_matmul(inp["sparse"], w_sparse)
          )
          prod_dense = tf.reduce_sum(
              input_tensor=w_dense * inp["dense"]
          )
          return prod_sparse + prod_dense
  
      @tf.function
      def loss_fn(label, pred):
          return tf.abs(label - pred)
  
      # sparse_feature represents [[1, 0, 2], [0, 3, 0]].
      sparse_feature = tf.SparseTensor(
          indices=[[0, 0], [0, 2], [1, 1]],
          values=[1.0, 2.0, 3.0],
          dense_shape=(2, 3),
      )
      x = {
          "sparse": sparse_feature,
          "dense": tf.constant([[-1.0], [1.0]]),
      }
      w_sparse = tf.constant([[5.0], [4.0], [3.0]])
      w_dense = tf.constant([[6.0]])
      adv_config = configs.AdvNeighborConfig(
          feature_mask=None,
          adv_step_size=0.1,
          adv_grad_norm="l2",
          pgd_iterations=2,
          pgd_epsilon=0.13,
      )
      return x, w_sparse, w_dense, adv_config, model_fn, loss_fn
  
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 26 for calling the GenAdvNeighborTest obj's underlying member method code with example usage: obj._test_multi_iter_gen_adv_neighbor_should_ignore_sparse_tensors_setup() and returns: x,  w_sparse,  w_dense,  adv_config,  model_fn,  loss_fn, unknown, tf