code: def test_train_with_feature_column_input(self):
      x1, x2 = np.array([[1.0]]), np.array([[4.0, 5.0]])
      w = np.array([[2.0], [3.0], [6.0]])
      y = np.array([0.0])
      inputs = {"x1": x1, "x2": x2, "label": y}
      lr, adv_step_size = 0.001, 0.1
  
      feature_columns = [
          tf.feature_column.numeric_column("x1", shape=[1]),
          tf.feature_column.numeric_column("x2", shape=[2]),
      ]
      model = tf.keras.Sequential(
          [
              tf.keras.layers.DenseFeatures(feature_columns),
              tf.keras.layers.Dense(
                  1,
                  use_bias=False,
                  kernel_initializer=tf.keras.initializers.Constant(w),
              ),
          ]
      )
  
      adv_config = configs.make_adv_reg_config(
          multiplier=1.0,
          adv_step_size=adv_step_size,
          adv_grad_norm="l2",
      )
      adv_model = adversarial_regularization.AdversarialRegularization(
          model, label_keys=["label"], adv_config=adv_config
      )
      adv_model.compile(
          optimizer=tf.keras.optimizers.SGD(lr), loss="MAE"
      )
      adv_model.fit(x=inputs, batch_size=1, steps_per_epoch=1)
  
      x = np.concatenate([x1, x2], axis=-1)
      # loss = |x * w|, gradient(loss, x) = w
      x_adv = x + adv_step_size * w.T / np.linalg.norm(w, ord=2)
      # gradient(loss, w) = x
      w_new = w - lr * (x + x_adv).T
      self.assertAllClose(
          w_new, tf.keras.backend.get_value(model.layers[1].weights[0])
      )
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import os
  from absl.testing import parameterized
  import neural_structured_learning.configs
  from neural_structured_learning.keras import adversarial_regularization
  import numpy
  import tensorflow
  from tensorflow.python.framework import test_util
label_desc: Use image node_id 14 for calling the AdversarialRegularizationTest obj's underlying member method code with example usage: obj.test_train_with_feature_column_input() without return types