class_docstr: NextItNet Model
  
  :Citation:
      Yuan, Fajie, et al. "A Simple Convolutional Generative Network
      for Next Item Recommendation", in Web Search and Data Mining, 2019.
  
  .. note::
  
      It requires strong sequence with dataset.
docstr: The main function to use dilated CNN and residual network at sequence data
  
  Args:
      input_ (object): The output of history sequential embeddings
      dilation (int): The dilation number of CNN layer
      layer_id (str): String value of layer ID, 0, 1, 2...
      residual_channels (int): Embedding size of input sequence
      kernel_size (int): Kernel size of CNN mask
      causal (bool): Whether to pad in front of the sequence or to pad surroundingly
      train (bool): is in training stage
  
  Returns:
      object: The output of residual layers.
docstr_tok: ["The","main","function","to","use","dilated","CNN","and","residual","network","at","sequence","data","Args",":","input_","(","object",")",":","The","output","of","history","sequential","embeddings","dilation","(","int",")",":","The","dilation","number","of","CNN","layer","layer_id","(","str",")",":","String","value","of","layer","ID",",","0",",","1",",","2","...","residual_channels","(","int",")",":","Embedding","size","of","input","sequence","kernel_size","(","int",")",":","Kernel","size","of","CNN","mask","causal","(","bool",")",":","Whether","to","pad","in","front","of","the","sequence","or","to","pad","surroundingly","train","(","bool",")",":","is","in","training","stage","Returns",":","object",":","The","output","of","residual","layers","."]
code: def _nextitnet_residual_block_one(
      self,
      input_,
      dilation,
      layer_id,
      residual_channels,
      kernel_size,
      causal=True,
      train=True,
  ):
      """The main function to use dilated CNN and residual network at sequence data
  
      Args:
          input_ (object): The output of history sequential embeddings
          dilation (int): The dilation number of CNN layer
          layer_id (str): String value of layer ID, 0, 1, 2...
          residual_channels (int): Embedding size of input sequence
          kernel_size (int): Kernel size of CNN mask
          causal (bool): Whether to pad in front of the sequence or to pad surroundingly
          train (bool): is in training stage
  
      Returns:
          object: The output of residual layers.
      """
      resblock_type = "decoder"
      resblock_name = (
          "nextitnet_residual_block_one_{}_layer_{}_{}".format(
              resblock_type, layer_id, dilation
          )
      )
      with tf.compat.v1.variable_scope(resblock_name):
          input_ln = self._layer_norm(
              input_, name="layer_norm1", trainable=train
          )
          relu1 = tf.nn.relu(input_ln)
          conv1 = self._conv1d(
              relu1, int(0.5 * int(residual_channels)), name="conv1d_1"
          )
          conv1 = self._layer_norm(
              conv1, name="layer_norm2", trainable=train
          )
          relu2 = tf.nn.relu(conv1)
  
          dilated_conv = self._conv1d(
              relu2,
              int(0.5 * int(residual_channels)),
              dilation,
              kernel_size,
              causal=causal,
              name="dilated_conv",
          )
  
          dilated_conv = self._layer_norm(
              dilated_conv, name="layer_norm3", trainable=train
          )
          relu3 = tf.nn.relu(dilated_conv)
          conv2 = self._conv1d(
              relu3, residual_channels, name="conv1d_2"
          )
          return input_ + conv2
  
file_path: recommenders/recommenders/models/deeprec/models/sequential/nextitnet.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 NextItNetModel obj's underlying member method code with example usage: obj._nextitnet_residual_block_one(input_, dilation, layer_id, residual_channels, kernel_size, causal, train) and returns: unknown