class_docstr: Depthwise separable convolution module.
  
  See https://arxiv.org/pdf/1704.04861.pdf for details.
  
  This module can replace a ConvModule with the conv block replaced by two
  conv block: depthwise conv block and pointwise conv block. The depthwise
  conv block contains depthwise-conv/norm/activation layers. The pointwise
  conv block contains pointwise-conv/norm/activation layers. It should be
  noted that there will be norm/activation layer in the depthwise conv block
  if `norm_cfg` and `act_cfg` are specified.
  
  Args:
      in_channels (int): Number of channels in the input feature map.
          Same as that in ``nn._ConvNd``.
      out_channels (int): Number of channels produced by the convolution.
          Same as that in ``nn._ConvNd``.
      kernel_size (int | tuple[int]): Size of the convolving kernel.
          Same as that in ``nn._ConvNd``.
      stride (int | tuple[int]): Stride of the convolution.
          Same as that in ``nn._ConvNd``. Default: 1.
      padding (int | tuple[int]): Zero-padding added to both sides of
          the input. Same as that in ``nn._ConvNd``. Default: 0.
      dilation (int | tuple[int]): Spacing between kernel elements.
          Same as that in ``nn._ConvNd``. Default: 1.
      norm_cfg (dict): Default norm config for both depthwise ConvModule and
          pointwise ConvModule. Default: None.
      act_cfg (dict): Default activation config for both depthwise ConvModule
          and pointwise ConvModule. Default: dict(type='ReLU').
      dw_norm_cfg (dict): Norm config of depthwise ConvModule. If it is
          'default', it will be the same as `norm_cfg`. Default: 'default'.
      dw_act_cfg (dict): Activation config of depthwise ConvModule. If it is
          'default', it will be the same as `act_cfg`. Default: 'default'.
      pw_norm_cfg (dict): Norm config of pointwise ConvModule. If it is
          'default', it will be the same as `norm_cfg`. Default: 'default'.
      pw_act_cfg (dict): Activation config of pointwise ConvModule. If it is
          'default', it will be the same as `act_cfg`. Default: 'default'.
      kwargs (optional): Other shared arguments for depthwise and pointwise
          ConvModule. See ConvModule for ref.
class_docstr_tok: ["Depthwise","separable","convolution","module",".","See","https",":","\/\/arxiv.org\/pdf\/1704.04861.pdf","for","details",".","This","module","can","replace","a","ConvModule","with","the","conv","block","replaced","by","two","conv","block",":","depthwise","conv","block","and","pointwise","conv","block",".","The","depthwise","conv","block","contains","depthwise-conv\/norm\/activation","layers",".","The","pointwise","conv","block","contains","pointwise-conv\/norm\/activation","layers",".","It","should","be","noted","that","there","will","be","norm\/activation","layer","in","the","depthwise","conv","block","if","`","norm_cfg","`","and","`","act_cfg","`","are","specified",".","Args",":","in_channels","(","int",")",":","Number","of","channels","in","the","input","feature","map",".","Same","as","that","in","``","nn._ConvNd","``",".","out_channels","(","int",")",":","Number","of","channels","produced","by","the","convolution",".","Same","as","that","in","``","nn._ConvNd","``",".","kernel_size","(","int","|","tuple","[","int","]",")",":","Size","of","the","convolving","kernel",".","Same","as","that","in","``","nn._ConvNd","``",".","stride","(","int","|","tuple","[","int","]",")",":","Stride","of","the","convolution",".","Same","as","that","in","``","nn._ConvNd","``",".","Default",":","1.","padding","(","int","|","tuple","[","int","]",")",":","Zero-padding","added","to","both","sides","of","the","input",".","Same","as","that","in","``","nn._ConvNd","``",".","Default",":","0.","dilation","(","int","|","tuple","[","int","]",")",":","Spacing","between","kernel","elements",".","Same","as","that","in","``","nn._ConvNd","``",".","Default",":","1.","norm_cfg","(","dict",")",":","Default","norm","config","for","both","depthwise","ConvModule","and","pointwise","ConvModule",".","Default",":","None",".","act_cfg","(","dict",")",":","Default","activation","config","for","both","depthwise","ConvModule","and","pointwise","ConvModule",".","Default",":","dict","(","type='ReLU","'",")",".","dw_norm_cfg","(","dict",")",":","Norm","config","of","depthwise","ConvModule",".","If","it","is","'default","'",",","it","will","be","the","same","as","`","norm_cfg","`",".","Default",":","'default","'",".","dw_act_cfg","(","dict",")",":","Activation","config","of","depthwise","ConvModule",".","If","it","is","'default","'",",","it","will","be","the","same","as","`","act_cfg","`",".","Default",":","'default","'",".","pw_norm_cfg","(","dict",")",":","Norm","config","of","pointwise","ConvModule",".","If","it","is","'default","'",",","it","will","be","the","same","as","`","norm_cfg","`",".","Default",":","'default","'",".","pw_act_cfg","(","dict",")",":","Activation","config","of","pointwise","ConvModule",".","If","it","is","'default","'",",","it","will","be","the","same","as","`","act_cfg","`",".","Default",":","'default","'",".","kwargs","(","optional",")",":","Other","shared","arguments","for","depthwise","and","pointwise","ConvModule",".","See","ConvModule","for","ref","."]
code: def forward(self, x):
      x = self.depthwise_conv(x)
      x = self.pointwise_conv(x)
      return x
  
imports: import torch.nn
  from .conv_module import ConvModule
label_desc: Use image node_id 2 for calling the DepthwiseSeparableConvModule obj's underlying member method code with example usage: obj.forward(x) and returns: x