code: def test_estimator_keras_with_bigdl_optim_method(self):
      tf.reset_default_graph()
  
      model = self.create_model()
  
      dataset = tf.data.Dataset.from_tensor_slices(
          (
              np.random.randint(0, 200, size=(100, 1)),
              np.random.randint(0, 50, size=(100, 1)),
              np.ones(shape=(100,), dtype=np.int32),
          )
      )
      dataset = dataset.map(
          lambda user, item, label: [(user, item), label]
      )
      from bigdl.orca.learn.optimizers import SGD
      from bigdl.orca.learn.optimizers.schedule import Plateau
  
      sgd = SGD(
          learningrate=0.1,
          learningrate_schedule=Plateau(
              "score",
              factor=0.1,
              patience=10,
              mode="min",
          ),
      )
      est = Estimator.from_keras(keras_model=model, optimizer=sgd)
      est.fit(
          data=dataset, batch_size=8, epochs=10, validation_data=dataset
      )
  
imports: import shutil
  from unittest import TestCase
  import tensorflow
  from bigdl.orca import OrcaContext
  from bigdl.orca.learn.trigger import SeveralIteration
  from bigdl.orca.learn.tf.estimator import Estimator
  from bigdl.dllib.nncontext import *
  from bigdl.orca.learn.utils import convert_predict_rdd_to_dataframe
  from bigdl.orca.learn.tf.estimator import save_model_dir
label_desc: Use image node_id 17 for calling the TestEstimatorForKeras obj's underlying member method code with example usage: obj.test_estimator_keras_with_bigdl_optim_method() without return types