code: def normal_1d_conv_block(
      X,
      kernel_width,
      layer_name,
      use_fp16,
      dilation=1,
      output_dim=None,
      causal=True,
  ):
      # layer_input shape = #batch, seq, embed_dim or batch, channels, seq, embed_dim
      with tf.compat.v1.variable_scope(layer_name):
          # Pad kernel_width (word_wise) - 1 to stop future viewing.
          left_pad = (kernel_width - 1) * dilation
  
          if causal:
              paddings = [[0, 0], [left_pad, 0], [0, 0]]
          else:
              paddings = [
                  [0, 0],
                  [left_pad // 2, left_pad - (left_pad // 2)],
                  [0, 0],
              ]
  
          if kernel_width > 1:
              padded_input = tf.pad(
                  tensor=X, paddings=paddings, mode="CONSTANT"
              )
          else:
              padded_input = X
  
          nx = shape_list(X)[-1]
          if output_dim is None:
              output_dim = nx
          W = tf.compat.v1.get_variable(
              name="W",
              shape=[kernel_width, nx, output_dim],
              initializer=tf.compat.v1.initializers.glorot_normal(),
          )
          b = tf.compat.v1.get_variable(
              name="B",
              shape=[output_dim],
              initializer=tf.compat.v1.initializers.constant(0.0),
          )
  
          if use_fp16:
              W = tf.cast(W, tf.float16)
              b = tf.cast(b, tf.float16)
  
          conv = causal_conv(padded_input, W, dilation)
          conv = tf.nn.bias_add(conv, b)
      return conv
  
file_path: finetune/finetune/base_models/oscar/featurizer.py
imports: import tensorflow
  from finetune.base_models.gpt.featurizer import dropout, embed, split_heads, merge_heads
  from finetune.util.shapes import shape_list, lengths_from_eos_idx
  from finetune.custom_ops import recursive_agg
  from finetune.base_models.gpt.featurizer import get_pos_values
  from finetune.optimizers.recompute_grads import recompute_grad
  import functools
label_desc: Use image node_id 8 for calling a global function with example usage: normal_1d_conv_block(X, kernel_width, layer_name, use_fp16, dilation, output_dim, causal) and returns: conv