class_docstr: Caser Model
  
  :Citation:
  
      J. Tang and K. Wang, "Personalized top-n sequential recommendation via convolutional
      sequence embedding", in Proceedings of the Eleventh ACM International Conference on
      Web Search and Data Mining, ACM, 2018.
docstr: The main function to use CNN at both item and category aspects.
  
  Returns:
      object: The concatenated output of two parts of item and category.
docstr_tok: ["The","main","function","to","use","CNN","at","both","item","and","category","aspects",".","Returns",":","object",":","The","concatenated","output","of","two","parts","of","item","and","category","."]
code: def _caser_cnn(self):
      """The main function to use CNN at both item and category aspects.
  
      Returns:
          object: The concatenated output of two parts of item and category.
      """
      item_out = self._add_cnn(
          self.item_history_embedding, self.item_embedding_dim, "item"
      )
      tf.compat.v1.summary.histogram("item_out", item_out)
      cate_out = self._add_cnn(
          self.cate_history_embedding, self.cate_embedding_dim, "cate"
      )
      tf.compat.v1.summary.histogram("cate_out", cate_out)
      cnn_output = tf.concat([item_out, cate_out], 1)
      tf.compat.v1.summary.histogram("cnn_output", cnn_output)
      return cnn_output
  
file_path: recommenders/recommenders/models/deeprec/models/sequential/caser.py
imports: import tensorflow
  from recommenders.models.deeprec.models.sequential.sequential_base_model import SequentialBaseModel
label_desc: Use image node_id 4 for calling the CaserModel obj's underlying member method code with example usage: obj._caser_cnn() and returns: cnn_output