code: def test_experiment(self, listwise_inference):
      tmp_dir = self.create_tempdir().full_path
      data_file = os.path.join(tmp_dir, "elwc.tfrecord")
      with tf.io.TFRecordWriter(data_file) as writer:
          for _ in range(10):
              writer.write(ELWC_PROTO.SerializeToString())
  
      estimator = tfr_estimator.make_dnn_ranking_estimator(
          example_feature_columns=example_feature_columns(),
          hidden_units=["2", "2"],
          optimizer=tf.compat.v1.train.AdamOptimizer(
              learning_rate=0.05
          ),
          learning_rate=0.05,
          loss="softmax_loss",
          use_batch_norm=False,
          model_dir=None,
          listwise_inference=listwise_inference,
      )
      train_spec = tf_estimator.TrainSpec(
          input_fn=_inner_input_fn, max_steps=1
      )  # pylint: disable=g-deprecated-tf-checker
      eval_spec = tf_estimator.EvalSpec(  # pylint: disable=g-deprecated-tf-checker
          name="eval", input_fn=_inner_input_fn, steps=10
      )
      tf_estimator.train_and_evaluate(estimator, train_spec, eval_spec)
  
imports: import os
  from absl.testing import parameterized
  import six
  import tensorflow
  from tensorflow import estimator
  from google.protobuf import text_format
  from tensorflow_ranking.python import data
  from tensorflow_ranking.python import estimator
  from tensorflow_ranking.python import feature
  from tensorflow_serving.apis import input_pb2
label_desc: Use image node_id 1 for calling the DNNEstimatorTest obj's underlying member method code with example usage: obj.test_experiment(listwise_inference) without return types