class_docstr: This class defines core TCN architecture.
  This is only the base class, training strategy is not implemented.
docstr: Defines dilated causal convolution
  Args:
      x: Input activation
      n_filters: Number of convolution filters
      dilation: Dilation rate
      padding: padding value
  
  Returns:
      Tensor output of convolution
docstr_tok: ["Defines","dilated","causal","convolution","Args",":","x",":","Input","activation","n_filters",":","Number","of","convolution","filters","dilation",":","Dilation","rate","padding",":","padding","value","Returns",":","Tensor","output","of","convolution"]
code: def _dilated_causal_conv(self, x, n_filters, dilation, padding):
      """
      Defines dilated causal convolution
      Args:
          x: Input activation
          n_filters: Number of convolution filters
          dilation: Dilation rate
          padding: padding value
  
      Returns:
          Tensor output of convolution
      """
      input_width = x.shape[1].value
      with tf.variable_scope("dilated_causal_conv"):
          # define dilated convolution layer with left side padding
          x = tf.pad(
              x, tf.constant([[0, 0], [padding, 0], [0, 0]]), "CONSTANT"
          )
          x = WeightNorm(
              Conv1D(
                  filters=n_filters,
                  kernel_size=self.kernel_size,
                  padding="valid",
                  strides=1,
                  activation=None,
                  dilation_rate=dilation,
                  kernel_initializer=tf.initializers.random_normal(
                      0, 0.01
                  ),
                  bias_initializer=tf.initializers.random_normal(
                      0, 0.01
                  ),
              )
          )(x)
  
      assert x.shape[1].value == input_width
  
      return x
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.keras.layers import Wrapper
  from tensorflow.python.layers.convolutional import Conv1D
  from tensorflow.python.ops import variable_scope
  from tensorflow.python.keras.engine.base_layer import Layer
  from tensorflow.python.eager import context
  from tensorflow.python.ops import nn_impl
  from tensorflow.python.keras import initializers
  from tensorflow.python.keras.engine.base_layer import InputSpec
  from tensorflow.python.ops import array_ops
  from tensorflow.python.framework import ops
label_desc: Use image node_id 6 for calling the TCN obj's underlying member method code with example usage: obj._dilated_causal_conv(x, n_filters, dilation, padding) and returns: x