class_docstr: The PointwiseMLPCE module minimizes the cross entropy classification loss with outputs of a Multi-Layer Perceptron (MLP) as logits.     The inputs to the MLP are the concatenation between user and item representations [ncf]_.
  
  Parameters
  ----------
  user: Tensorflow tensor
      Representations for users involved in the interactions. Shape: **[number of interactions, dimensionality of         user representations]**.
  item: Tensorflow tensor
      Representations for items involved in the interactions. Shape: **[number of interactions, dimensionality of         item representations]**.
  dims: Numpy array.
      Specify the size of the MLP (openrec.tf1.legacy.modules.extractions.MultiLayerFC).
  item_bias: Tensorflow tensor, optional
      Biases for items involved in the interactions. Shape: **[number of interactions, 1]**.
  extra: Tensorflow tensor, optional
      Representations for context involved in the interactions. Shape: **[number of interaction, dimensionality of         context representations]**
  l2_reg: float, optional
      Weight for L2 regularization, i.e., weight decay.
  labels: Tensorflow tensor, required for training.
      Groundtruth labels for the interactions. Shape **[number of interactions, ]**.
  dropout: float, optional
      Dropout rate for MLP (intermediate layers only).
  train: bool, optional
      An indicator for training or servining phase.
  batch_serving: bool, optional
      An indicator for batch serving / pointwise serving.
  scope: str, optional
      Scope for module variables.
  reuse: bool, optional
      Whether or not to reuse module variables.
code: def __init__(
      self,
      user,
      item,
      dims,
      item_bias=None,
      extra=None,
      l2_reg=None,
      labels=None,
      dropout=None,
      train=None,
      batch_serving=True,
      scope=None,
      reuse=False,
  ):
      assert dims is not None, "dims cannot be None"
      assert dims[-1] == 1, "last value of dims should be 1"
  
      self._user = user
      self._item = item
      self._item_bias = item_bias
      self._extra = extra
      self._dropout = dropout
      self._batch_serving = batch_serving
  
      if train:
          assert labels is not None, "labels cannot be None"
          self._labels = labels
  
      self._dims = dims
  
      super(PointwiseMLPCE, self).__init__(
          l2_reg=l2_reg, train=train, scope=scope, reuse=reuse
      )
  
file_path: openrec/openrec/tf1/legacy/modules/interactions/pointwise_mlp_ce.py
imports: from __future__ import print_function
  import tensorflow
  from openrec.tf1.legacy.modules.interactions import Interaction
  from openrec.tf1.legacy.modules.extractions import MultiLayerFC
label_desc: Use image node_id 1 to create a new PointwiseMLPCE object from inherited base classes: Interaction with example: obj = PointwiseMLPCE(user, item, dims, item_bias, extra, l2_reg, labels, dropout, train, batch_serving, scope, reuse)