class_docstr: The :class:`SeparableConv1d` class is a 1D depthwise separable convolutional layer.
  
  This layer performs a depthwise convolution that acts separately on channels, followed by a pointwise convolution that mixes channels.
  
  Parameters
  ------------
  n_filter : int
      The dimensionality of the output space (i.e. the number of filters in the convolution).
  filter_size : int
      Specifying the spatial dimensions of the filters. Can be a single integer to specify the same value for all spatial dimensions.
  strides : int
      Specifying the stride of the convolution. Can be a single integer to specify the same value for all spatial dimensions. Specifying any stride value != 1 is incompatible with specifying any dilation_rate value != 1.
  padding : str
      One of "valid" or "same" (case-insensitive).
  data_format : str
      One of channels_last (default) or channels_first. The ordering of the dimensions in the inputs. channels_last corresponds to inputs with shape (batch, height, width, channels) while channels_first corresponds to inputs with shape (batch, channels, height, width).
  dilation_rate : int
      Specifying the dilation rate to use for dilated convolution. Can be a single integer to specify the same value for all spatial dimensions. Currently, specifying any dilation_rate value != 1 is incompatible with specifying any stride value != 1.
  depth_multiplier : int
      The number of depthwise convolution output channels for each input channel. The total number of depthwise convolution output channels will be equal to num_filters_in * depth_multiplier.
  depthwise_init : initializer
      for the depthwise convolution kernel.
  pointwise_init : initializer
      For the pointwise convolution kernel.
  b_init : initializer
      For the bias vector. If None, ignore bias in the pointwise part only.
  in_channels : int
      The number of in channels.
  name : None or str
      A unique layer name.
  
  Examples
  --------
  With TensorLayer
  
  >>> net = tl.layers.Input([8, 50, 64], name='input')
  >>> separableconv1d = tl.layers.Conv1d(n_filter=32, filter_size=3, strides=2, padding='SAME', act=tf.nn.relu, name='separable_1d')(net)
  >>> print(separableconv1d)
  >>> output shape : (8, 25, 32)
class_docstr_tok: ["The",":","class",":","`","SeparableConv1d","`","class","is","a","1D","depthwise","separable","convolutional","layer",".","This","layer","performs","a","depthwise","convolution","that","acts","separately","on","channels",",","followed","by","a","pointwise","convolution","that","mixes","channels",".","Parameters","--","--","--","--","--","--","n_filter",":","int","The","dimensionality","of","the","output","space","(","i.e",".","the","number","of","filters","in","the","convolution",")",".","filter_size",":","int","Specifying","the","spatial","dimensions","of","the","filters",".","Can","be","a","single","integer","to","specify","the","same","value","for","all","spatial","dimensions",".","strides",":","int","Specifying","the","stride","of","the","convolution",".","Can","be","a","single","integer","to","specify","the","same","value","for","all","spatial","dimensions",".","Specifying","any","stride","value","!","=","1","is","incompatible","with","specifying","any","dilation_rate","value","!","=","1.","padding",":","str","One","of","``","valid","''","or","``","same","''","(","case-insensitive",")",".","data_format",":","str","One","of","channels_last","(","default",")","or","channels_first",".","The","ordering","of","the","dimensions","in","the","inputs",".","channels_last","corresponds","to","inputs","with","shape","(","batch",",","height",",","width",",","channels",")","while","channels_first","corresponds","to","inputs","with","shape","(","batch",",","channels",",","height",",","width",")",".","dilation_rate",":","int","Specifying","the","dilation","rate","to","use","for","dilated","convolution",".","Can","be","a","single","integer","to","specify","the","same","value","for","all","spatial","dimensions",".","Currently",",","specifying","any","dilation_rate","value","!","=","1","is","incompatible","with","specifying","any","stride","value","!","=","1.","depth_multiplier",":","int","The","number","of","depthwise","convolution","output","channels","for","each","input","channel",".","The","total","number","of","depthwise","convolution","output","channels","will","be","equal","to","num_filters_in","*","depth_multiplier",".","depthwise_init",":","initializer","for","the","depthwise","convolution","kernel",".","pointwise_init",":","initializer","For","the","pointwise","convolution","kernel",".","b_init",":","initializer","For","the","bias","vector",".","If","None",",","ignore","bias","in","the","pointwise","part","only",".","in_channels",":","int","The","number","of","in","channels",".","name",":","None","or","str","A","unique","layer","name",".","Examples","--","--","--","--","With","TensorLayer",">",">",">","net","=","tl.layers.Input","(","[","8",",","50",",","64","]",",","name='input","'",")",">",">",">","separableconv1d","=","tl.layers.Conv1d","(","n_filter=32",",","filter_size=3",",","strides=2",",","padding='SAME","'",",","act=tf.nn.relu",",","name='separable_1d","'",")","(","net",")",">",">",">","print","(","separableconv1d",")",">",">",">","output","shape",":","(","8",",","25",",","32",")"]
code: def __repr__(self):
      actstr = (
          self.act.__name__ if self.act is not None else "No Activation"
      )
      s = (
          "{classname}(in_channels={in_channels}, out_channels={n_filter}, kernel_size={filter_size}"
          ", stride={strides}, padding={padding}"
      )
      if self.dilation_rate != 1:
          s += ", dilation={dilation_rate}"
      if self.b_init is None:
          s += ", bias=False"
      s += ", " + actstr
      if self.name is not None:
          s += ", name='{name}'"
      s += ")"
      return s.format(
          classname=self.__class__.__name__, **self.__dict__
      )
  
file_path: TensorLayer/tensorlayer/layers/convolution/separable_conv.py
imports: import numpy
  import tensorflow
  import tensorlayer
  from tensorlayer import logging
  from tensorlayer.decorators import deprecated_alias
  from tensorlayer.layers.core import Layer
  from tensorlayer.layers.utils import get_collection_trainable
label_desc: Use image node_id 2 for calling the SeparableConv1d obj's underlying member method code with example usage: obj.__repr__() and returns: s