code: def test_model_to_estimator_missing_custom_objects(self):
      keras_model = model.create_keras_model(
          network=self._network,
          loss=self._loss,
          metrics=self._eval_metrics,
          optimizer=self._optimizer,
          size_feature_name=_SIZE,
      )
      estimator = estimator_lib.model_to_estimator(
          model=keras_model, config=self._config, custom_objects=None
      )
      self.assertIsInstance(estimator, tf_compat_v1_estimator.Estimator)
  
      # Train and export model.
      train_spec = tf_estimator.TrainSpec(
          input_fn=self._make_input_fn(), max_steps=1
      )
      eval_spec = tf_estimator.EvalSpec(
          name="eval", input_fn=self._make_input_fn(), steps=10
      )
  
      with self.assertRaises(AttributeError):
          tf_estimator.train_and_evaluate(
              estimator, train_spec, eval_spec
          )
  
imports: import os
  from absl.testing import parameterized
  import tensorflow
  from tensorflow import estimator
  from tensorflow.compat.v1 import estimator
  from google.protobuf import text_format
  from tensorflow_ranking.python import data
  from tensorflow_ranking.python.keras import estimator
  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 4 for calling the KerasModelToEstimatorTest obj's underlying member method code with example usage: obj.test_model_to_estimator_missing_custom_objects() without return types