class_docstr: Applies separable convolution operator for 2D inputs.
  Separable convolutions consist in first performing a depthwise spatial convolution (which acts
  on each input channel separately) followed by a pointwise convolution which mixes together the
  resulting output channels. The depth_multiplier argument controls how many output channels are
  generated per input channel in the depthwise step.
  You can also use SeparableConv2D as an alias of this layer.
  The input of this layer should be 4D.
  
  When you use this layer as the first layer of a model, you need to provide the argument
  input_shape (a shape tuple, does not include the batch dimension).
  e.g. input_shape=(3, 128, 128) for 128x128 RGB pictures.
  
  # Arguments
  nb_filter: Number of convolution filters to use.
  nb_row: Number of rows in the convolution kernel.
  nb_col: Number of cols in the convolution kernel.
  init: String representation of the initialization method for the weights of the layer.
        Default is 'glorot_uniform'.
  activation: String representation of the activation function to use
              (such as 'relu' or 'sigmoid'). Default is None.
  border_mode: Either 'valid' or 'same'. Default is 'valid'.
  subsample: Int tuple of length 2 corresponding to the step of the convolution in the
             height and width dimension. Also called strides elsewhere. Default is (1, 1).
  depth_multiplier: How many output channel to use per input channel for the depthwise
                    convolution step. Int. Default is 1.
  dim_ordering: Format of input data. Either 'th' (Channel First) or 'tf' (Channel Last).
                Default is 'th'.
  depthwise_regularizer: An instance of [[Regularizer]], (eg. L1 or L2 regularization),
                         applied to the depthwise weights matrices. Default is None.
  pointwise_regularizer: An instance of [[Regularizer]], applied to the pointwise weights
                         matrices. Default is None.
  b_regularizer: An instance of [[Regularizer]], applied to the bias. Default is None.
  bias: Whether to include a bias (i.e. make the layer affine rather than linear).
        Default is True.
  input_shape: A shape tuple, not including batch.
  name: String to set the name of the layer.
        If not specified, its name will by default to be a generated string.
  
  >>> separableconv2d = SeparableConvolution2D(12, 3, 4, input_shape=(3, 32, 32))
  creating: createZooKerasSeparableConvolution2D
class_docstr_tok: ["Applies","separable","convolution","operator","for","2D","inputs",".","Separable","convolutions","consist","in","first","performing","a","depthwise","spatial","convolution","(","which","acts","on","each","input","channel","separately",")","followed","by","a","pointwise","convolution","which","mixes","together","the","resulting","output","channels",".","The","depth_multiplier","argument","controls","how","many","output","channels","are","generated","per","input","channel","in","the","depthwise","step",".","You","can","also","use","SeparableConv2D","as","an","alias","of","this","layer",".","The","input","of","this","layer","should","be","4D",".","When","you","use","this","layer","as","the","first","layer","of","a","model",",","you","need","to","provide","the","argument","input_shape","(","a","shape","tuple",",","does","not","include","the","batch","dimension",")",".","e.g",".","input_shape=","(","3",",","128",",","128",")","for","128x128","RGB","pictures",".","#","Arguments","nb_filter",":","Number","of","convolution","filters","to","use",".","nb_row",":","Number","of","rows","in","the","convolution","kernel",".","nb_col",":","Number","of","cols","in","the","convolution","kernel",".","init",":","String","representation","of","the","initialization","method","for","the","weights","of","the","layer",".","Default","is","'glorot_uniform","'",".","activation",":","String","representation","of","the","activation","function","to","use","(","such","as","'relu","'","or","'sigmoid","'",")",".","Default","is","None",".","border_mode",":","Either","'valid","'","or","'same","'",".","Default","is","'valid","'",".","subsample",":","Int","tuple","of","length","2","corresponding","to","the","step","of","the","convolution","in","the","height","and","width","dimension",".","Also","called","strides","elsewhere",".","Default","is","(","1",",","1",")",".","depth_multiplier",":","How","many","output","channel","to","use","per","input","channel","for","the","depthwise","convolution","step",".","Int",".","Default","is","1.","dim_ordering",":","Format","of","input","data",".","Either","'th","'","(","Channel","First",")","or","'tf","'","(","Channel","Last",")",".","Default","is","'th","'",".","depthwise_regularizer",":","An","instance","of","[","[","Regularizer","]","]",",","(","eg",".","L1","or","L2","regularization",")",",","applied","to","the","depthwise","weights","matrices",".","Default","is","None",".","pointwise_regularizer",":","An","instance","of","[","[","Regularizer","]","]",",","applied","to","the","pointwise","weights","matrices",".","Default","is","None",".","b_regularizer",":","An","instance","of","[","[","Regularizer","]","]",",","applied","to","the","bias",".","Default","is","None",".","bias",":","Whether","to","include","a","bias","(","i.e",".","make","the","layer","affine","rather","than","linear",")",".","Default","is","True",".","input_shape",":","A","shape","tuple",",","not","including","batch",".","name",":","String","to","set","the","name","of","the","layer",".","If","not","specified",",","its","name","will","by","default","to","be","a","generated","string",".",">",">",">","separableconv2d","=","SeparableConvolution2D","(","12",",","3",",","4",",","input_shape=","(","3",",","32",",","32",")",")","creating",":","createZooKerasSeparableConvolution2D"]
code: def __init__(
      self,
      nb_filter,
      nb_row,
      nb_col,
      init="glorot_uniform",
      activation=None,
      border_mode="valid",
      subsample=(1, 1),
      depth_multiplier=1,
      dim_ordering="th",
      depthwise_regularizer=None,
      pointwise_regularizer=None,
      b_regularizer=None,
      bias=True,
      input_shape=None,
      **kwargs,
  ):
      super(SeparableConvolution2D, self).__init__(
          None,
          nb_filter,
          nb_row,
          nb_col,
          init,
          activation,
          border_mode,
          subsample,
          depth_multiplier,
          dim_ordering,
          depthwise_regularizer,
          pointwise_regularizer,
          b_regularizer,
          bias,
          list(input_shape) if input_shape else None,
          **kwargs,
      )
  
imports: import sys
  from ..engine.topology import ZooKerasLayer
label_desc: Use image node_id 1 to create a new SeparableConvolution2D object from inherited base classes: ZooKerasLayer with example: obj = SeparableConvolution2D(nb_filter, nb_row, nb_col, init, activation, border_mode, subsample, depth_multiplier, dim_ordering, depthwise_regularizer, pointwise_regularizer, b_regularizer, bias, input_shape)