class_docstr: A de-convolution 1D layer.
  
  See `tf.nn.conv1d_transpose <https://tensorflow.google.cn/versions/r2.0/api_docs/python/tf/nn/conv1d_transpose>`__.
  
  Parameters
  ----------
  act : activation function or None
      The activation function of this layer.
  shape : tuple of int
      Shape of the filters: (height, width, output_channels, in_channels).
      The filter's ``in_channels`` dimension must match that of value.
  outputs_shape : tuple of int
      Output shape of the deconvolution,
  strides : tuple of int
      The sliding window strides for corresponding input dimensions.
  padding : str
      The padding algorithm type: "SAME" or "VALID".
  data_format : str
      "NWC" or "NCW", default is "NWC".
  dilation_rate : int
      Filter up-sampling/input down-sampling rate.
  W_init : initializer
      The initializer for the weight matrix.
  b_init : initializer or None
      The initializer for the bias vector. If None, skip biases.
  name : None or str
      A unique layer name.
  
  Notes
  -----
  - shape = [w, the number of output channels of this layer, the number of output channel of the previous layer].
  - outputs_shape = [batch_size, any, the number of output channels of this layer].
  - the number of output channel of a layer is its last dimension.
  
  Examples
  --------
  >>> input_layer = Input([8, 25, 32], name='input_layer')
  >>> deconv1d = tl.layers.DeConv1dLayer(
  ...     shape=(5, 64, 32), outputs_shape=(8, 50, 64), strides=(1, 2, 1), name='deconv1dlayer'
  ... )
  >>> print(deconv1d)
  >>> tensor = tl.layers.DeConv1dLayer(
  ...     shape=(5, 64, 32), outputs_shape=(8, 50, 64), strides=(1, 2, 1), name='deconv1dlayer'
  ... )(input_layer)
  >>> print(tensor)
  >>> output shape : (8, 50, 64)
code: def __init__(
      self,
      act=None,
      shape=(3, 128, 256),
      outputs_shape=(1, 256, 128),
      strides=(1, 2, 1),
      padding="SAME",
      data_format="NWC",
      dilation_rate=(1, 1, 1),
      W_init=tl.initializers.truncated_normal(stddev=0.02),
      b_init=tl.initializers.constant(value=0.0),
      name=None,  # 'decnn1d_layer',
  ):
      super().__init__(name, act=act)
      self.shape = shape
      self.outputs_shape = outputs_shape
      self.strides = strides
      self.padding = padding
      self.data_format = data_format
      self.dilation_rate = dilation_rate
      self.W_init = W_init
      self.b_init = b_init
      self.in_channels = self.shape[-1]
  
      self.build(None)
      self._built = True
  
      logging.info(
          "DeConv1dLayer %s: shape: %s out_shape: %s strides: %s pad: %s act: %s"
          % (
              self.name,
              str(shape),
              str(outputs_shape),
              str(strides),
              padding,
              self.act.__name__
              if self.act is not None
              else "No Activation",
          )
      )
  
imports: import tensorflow
  import tensorlayer
  from tensorlayer import logging
  from tensorlayer.decorators import deprecated_alias
  from tensorlayer.layers.core import Layer
label_desc: Use image node_id 1 to create a new DeConv1dLayer object from inherited base classes: Layer with example: obj = DeConv1dLayer(act, shape, outputs_shape, strides, padding, data_format, dilation_rate, W_init, b_init, name)