code: def model_creator(config):
      model = NCF(
          user_num=config["user_num"],
          item_num=config["item_num"],
          factor_num=config["factor_num"],
          num_layers=config["num_layers"],
          dropout=config["dropout"],
          model="NeuMF-end",
          sparse_feats_input_dims=config["sparse_feats_input_dims"],
          sparse_feats_embed_dims=config["sparse_feats_embed_dims"],
          num_dense_feats=config["num_dense_feats"],
      )
      model.train()
      return model
  
file_path: BigDL/python/orca/tutorial/NCF/pytorch_train_spark_dataframe.py
imports: import torch.nn
  import torch.optim
  from process_spark_dataframe import prepare_data
  from pytorch_model import NCF
  from utils import *
  from bigdl.orca.learn.pytorch import Estimator
  from bigdl.orca.learn.metrics import Accuracy, Precision, Recall
label_desc: Use image node_id 1 for calling a global function with example usage: model_creator(config) and returns: model