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: Call a dilated CNN layer
  
  Returns:
      object: The output of dilated CNN layers.
docstr_tok: ["Call","a","dilated","CNN","layer","Returns",":","object",":","The","output","of","dilated","CNN","layers","."]
code: def _conv1d(
      self,
      input_,
      output_channels,
      dilation=1,
      kernel_size=1,
      causal=False,
      name="dilated_conv",
  ):
      """Call a dilated CNN layer
  
      Returns:
          object: The output of dilated CNN layers.
      """
      with tf.compat.v1.variable_scope(name):
          weight = tf.compat.v1.get_variable(
              "weight",
              [1, kernel_size, input_.get_shape()[-1], output_channels],
              initializer=tf.compat.v1.truncated_normal_initializer(
                  stddev=0.02, seed=1
              ),
          )
          bias = tf.compat.v1.get_variable(
              "bias",
              [output_channels],
              initializer=tf.compat.v1.constant_initializer(0.0),
          )
  
          if causal:
              padding = [
                  [0, 0],
                  [(kernel_size - 1) * dilation, 0],
                  [0, 0],
              ]
              padded = tf.pad(tensor=input_, paddings=padding)
              input_expanded = tf.expand_dims(padded, axis=1)
              out = (
                  tf.nn.atrous_conv2d(
                      input_expanded,
                      weight,
                      rate=dilation,
                      padding="VALID",
                  )
                  + bias
              )
          else:
              input_expanded = tf.expand_dims(input_, axis=1)
              out = (
                  tf.nn.conv2d(
                      input=input_expanded,
                      filters=weight,
                      strides=[1, 1, 1, 1],
                      padding="SAME",
                  )
                  + bias
              )
  
          return tf.squeeze(out, [1])
  
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 5 for calling the NextItNetModel obj's underlying member method code with example usage: obj._conv1d(input_, output_channels, dilation, kernel_size, causal, name) and returns: tf