code: def _build_linear_regression_model_and_inputs(self, model_fn):
      # The model and input are shared across test cases.
      w = np.array([[4.0], [-3.0]])
      x0 = np.array([[2.0, 3.0]])
      y0 = np.array([[0.0]])
      y_hat = np.dot(x0, w)
      x_adv = x0 + self.adv_step_size * np.sign((y_hat - y0) * w.T)
      y_hat_adv = np.dot(x_adv, w)
      model = model_fn(input_shape=(2,), weights=w)
      loss_fn = tf.keras.losses.MeanSquaredError()
      inputs = {"feature": tf.constant(x0)}
      labels = tf.constant(y0)
      expected_adv_loss = np.reshape((y_hat_adv - y0) ** 2, ())
  
      # Initializes the variables in TF 1.x. This is a no-op in TF 2.0.
      self.evaluate(tf.compat.v1.global_variables_initializer())
      return inputs, labels, model, loss_fn, expected_adv_loss
  
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 2 for calling the AdversarialLossTest obj's underlying member method code with example usage: obj._build_linear_regression_model_and_inputs(model_fn) and returns: inputs,  labels,  model,  loss_fn,  expected_adv_loss