class_docstr: Neural Matrix Factorization.
  
  Parameters
  ----------
  num_factors: int, optional, default: 8
      Embedding size of MF model.
  
  layers: list, optional, default: [64, 32, 16, 8]
      MLP layers. Note that the first layer is the concatenation of
      user and item embeddings. So layers[0]/2 is the embedding size.
  
  act_fn: str, default: 'relu'
      Name of the activation function used for the MLP layers.
      Supported functions: ['sigmoid', 'tanh', 'elu', 'relu', 'selu, 'relu6', 'leaky_relu']
  
  reg: float, optional, default: 0.
      Regularization (weight_decay).
  
  reg_layers: list, optional, default: [0., 0., 0., 0.]
      Regularization for each MLP layer,
      reg_layers[0] is the regularization for embeddings.
  
  num_epochs: int, optional, default: 20
      Number of epochs.
  
  batch_size: int, optional, default: 256
      Batch size.
  
  num_neg: int, optional, default: 4
      Number of negative instances to pair with a positive instance.
  
  lr: float, optional, default: 0.001
      Learning rate.
  
  learner: str, optional, default: 'adam'
      Specify an optimizer: adagrad, adam, rmsprop, sgd
  
  backend: str, optional, default: 'tensorflow'
      Backend used for model training: tensorflow, pytorch
      
  early_stopping: {min_delta: float, patience: int}, optional, default: None
      If `None`, no early stopping. Meaning of the arguments: 
      
      - `min_delta`: the minimum increase in monitored value on validation set to be considered as improvement,            i.e. an increment of less than min_delta will count as no improvement.
      
      - `patience`: number of epochs with no improvement after which training should be stopped.
  
  name: string, optional, default: 'NeuMF'
      Name of the recommender model.
  
  trainable: boolean, optional, default: True
      When False, the model is not trained and Cornac assumes that the model is already         pre-trained.
  
  verbose: boolean, optional, default: False
      When True, some running logs are displayed.
  
  seed: int, optional, default: None
      Random seed for parameters initialization.
  
  References
  ----------
  * He, X., Liao, L., Zhang, H., Nie, L., Hu, X., & Chua, T. S. (2017, April). Neural collaborative filtering.     In Proceedings of the 26th international conference on world wide web (pp. 173-182).
code: def _build_model_pt(self):
      from .backend_pt import NeuMF
  
      model = NeuMF(
          num_users=self.num_users,
          num_items=self.num_items,
          layers=self.layers,
          act_fn=self.act_fn,
      )
      if self.pretrained:
          model.from_pretrained(
              self.pretrained_gmf.model,
              self.pretrained_mlp.model,
              self.alpha,
          )
      return model
  
file_path: cornac/cornac/models/ncf/recom_neumf.py
imports: import numpy
  from .recom_ncf_base import NCFBase
  from ...exception import ScoreException
label_desc: Use image node_id 6 for calling the NeuMF obj's underlying member method code with example usage: obj._build_model_pt() and returns: model