code: def test_estimator_keras_dataframe_mem_type(self):
      tf.reset_default_graph()
  
      model = self.create_model()
      sc = init_nncontext()
      sqlcontext = SQLContext(sc)
      file_path = os.path.join(self.resource_path, "orca/learn/ncf.csv")
      df = sqlcontext.read.csv(file_path, header=True, inferSchema=True)
      from pyspark.sql.functions import array
  
      df = df.withColumn("user", array("user")).withColumn(
          "item", array("item")
      )
  
      est = Estimator.from_keras(keras_model=model)
      OrcaContext.train_data_store = "DISK_2"
      est.fit(
          data=df,
          batch_size=4,
          epochs=4,
          feature_cols=["user", "item"],
          label_cols=["label"],
          validation_data=df,
      )
  
      eval_result = est.evaluate(
          df, feature_cols=["user", "item"], label_cols=["label"]
      )
      assert "acc Top1Accuracy" in eval_result
  
      prediction_df = est.predict(
          df, batch_size=4, feature_cols=["user", "item"]
      )
      assert "prediction" in prediction_df.columns
      predictions = prediction_df.collect()
      assert len(predictions) == 48
      OrcaContext.train_data_store = "DRAM"
  
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 21 for calling the TestEstimatorForKeras obj's underlying member method code with example usage: obj.test_estimator_keras_dataframe_mem_type() without return types