code: def test_gam_model_builder_with_spec(self):
      gam_scorer = model_lib.GAMScorer(
          example_hidden_layer_dims=[10, 10],
          context_hidden_layer_dims=[10, 10],
      )
      gam_model = model_lib.ModelBuilder(
          input_creator=self._input_creator,
          preprocessor=self._preprocessor,
          mask_feature_name="mask",
          scorer=gam_scorer,
          name="test_model",
      ).build()
      output = gam_model(
          {
              "context_1": tf.convert_to_tensor([[1]]),
              "feature_1": tf.convert_to_tensor([[[0.0], [1], [2]]]),
              "feature_2": tf.convert_to_tensor([[[0.0], [1], [2]]]),
              "mask": tf.convert_to_tensor([[True, True, True]]),
          }
      )
      self.assertAllEqual(output.shape.as_list(), [1, 3])
  
imports: from absl.testing import parameterized
  import tensorflow
  from google.protobuf import text_format
  from tensorflow_ranking.python import data
  from tensorflow_ranking.python.keras import feature
  from tensorflow_ranking.python.keras import losses
  from tensorflow_ranking.python.keras import metrics
  from tensorflow_ranking.python.keras import model
  from tensorflow_ranking.python.keras import network
  from tensorflow_serving.apis import input_pb2
label_desc: Use image node_id 3 for calling the ModelBuilderTest obj's underlying member method code with example usage: obj.test_gam_model_builder_with_spec() without return types