code: def test_model_fn_regression(
      self, problem, input_shape, hparams, loss_fn=None, metric_fn=None
  ):
      instance = self._create_phoenix_instance(
          problem_type=problem,
          input_shape=input_shape,
          logits_dimension=1,
          loss_fn=loss_fn,
          metric_fn=metric_fn,
      )
      run_config = tf.estimator.RunConfig(
          model_dir=self.get_temp_dir() + "/1"
      )
  
      def input_fn():
          features = {"zeros": tf.zeros(input_shape)}
          labels = tf.constant([[0.0]] * 10, dtype=tf.float32)
          return features, labels
  
      estimator = instance.get_estimator(run_config, hparams, 10)
      estimator.train(input_fn=input_fn, max_steps=10)
      eval_result = estimator.evaluate(input_fn=input_fn, steps=10)
  
      self.assertAlmostEqual(0.0, eval_result["loss"])
  
imports: import os
  from absl import flags
  from absl.testing import parameterized
  from model_search import hparam
  from model_search import loss_fns
  from model_search import phoenix
  from model_search.architecture import architecture_utils
  from model_search.metadata import mock_metadata
  from model_search.proto import phoenix_spec_pb2
  import numpy
  import tensorflow.compat.v2
  from google.protobuf import text_format
label_desc: Use image node_id 10 for calling the PhoenixTest obj's underlying member method code with example usage: obj.test_model_fn_regression(problem, input_shape, hparams, loss_fn, metric_fn) and returns: features,  labels