class_docstr: xDeepFM model
  
  :Citation:
  
      J. Lian, X. Zhou, F. Zhang, Z. Chen, X. Xie, G. Sun, "xDeepFM: Combining Explicit
      and Implicit Feature Interactions for Recommender Systems", in Proceedings of the
      24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining,
      KDD 2018, London, 2018.
docstr: The main function to create xdeepfm's logic.
  
  Returns:
      object: The prediction score made by the model.
code: def _build_graph(self):
      """The main function to create xdeepfm's logic.
  
      Returns:
          object: The prediction score made by the model.
      """
      hparams = self.hparams
      self.keep_prob_train = 1 - np.array(hparams.dropout)
      self.keep_prob_test = np.ones_like(hparams.dropout)
  
      with tf.compat.v1.variable_scope(
          "XDeepFM"
      ) as scope:  # noqa: F841
          with tf.compat.v1.variable_scope(
              "embedding", initializer=self.initializer
          ) as escope:  # noqa: F841
              self.embedding = tf.compat.v1.get_variable(
                  name="embedding_layer",
                  shape=[hparams.FEATURE_COUNT, hparams.dim],
                  dtype=tf.float32,
              )
              self.embed_params.append(self.embedding)
              embed_out, embed_layer_size = self._build_embedding()
  
          logit = 0
  
          if hparams.use_Linear_part:
              print("Add linear part.")
              logit = logit + self._build_linear()
  
          if hparams.use_FM_part:
              print("Add FM part.")
              logit = logit + self._build_fm()
  
          if hparams.use_CIN_part:
              print("Add CIN part.")
              if hparams.fast_CIN_d <= 0:
                  logit = logit + self._build_CIN(
                      embed_out,
                      res=True,
                      direct=False,
                      bias=False,
                      is_masked=True,
                  )
              else:
                  logit = logit + self._build_fast_CIN(
                      embed_out, res=True, direct=False, bias=False
                  )
  
          if hparams.use_DNN_part:
              print("Add DNN part.")
              logit = logit + self._build_dnn(
                  embed_out, embed_layer_size
              )
  
          return logit
  
file_path: recommenders/recommenders/models/deeprec/models/xDeepFM.py
imports: import numpy
  import tensorflow
  from recommenders.models.deeprec.models.base_model import BaseModel
label_desc: Use image node_id 1 for calling the XDeepFMModel obj's underlying member method code with example usage: obj._build_graph() and returns: logit