class_docstr: This class implements a block in ContextNet.
  
  Arguments
  ---------
  out_channels : int
      Number of output channels of this model (default 640).
  kernel_size : int
      Kernel size of convolution layers (default 3).
  strides : int
      Striding factor for this context block (default 1).
  num_layersi : int
      Number of depthwise convolution layers for this context block (default 5).
  inner_dim : int
      Inner dimension of bottle-neck network of the SE Module (default 12).
  beta : float
      Beta to scale the Swish activation (default 1).
  dropout : float
      Dropout (default 0.15).
  activation : torch class
      Activation function for this context block (default Swish).
  se_activation : torch class
      Activation function for SE Module (default torch.nn.Sigmoid).
  norm : torch class
      Normalization to regularize the model (default BatchNorm1d).
  residuals : bool
      Whether to apply residual connection at this context block (default None).
  
  Example
  -------
  >>> inp = torch.randn([8, 120, 40])
  >>> block = ContextNetBlock(256, 3, 5, 12, input_shape=inp.shape, stride=2)
  >>> out = block(inp)
  >>> out.shape
  torch.Size([8, 60, 256])
class_docstr_tok: ["This","class","implements","a","block","in","ContextNet",".","Arguments","--","--","--","--","-","out_channels",":","int","Number","of","output","channels","of","this","model","(","default","640",")",".","kernel_size",":","int","Kernel","size","of","convolution","layers","(","default","3",")",".","strides",":","int","Striding","factor","for","this","context","block","(","default","1",")",".","num_layersi",":","int","Number","of","depthwise","convolution","layers","for","this","context","block","(","default","5",")",".","inner_dim",":","int","Inner","dimension","of","bottle-neck","network","of","the","SE","Module","(","default","12",")",".","beta",":","float","Beta","to","scale","the","Swish","activation","(","default","1",")",".","dropout",":","float","Dropout","(","default","0.15",")",".","activation",":","torch","class","Activation","function","for","this","context","block","(","default","Swish",")",".","se_activation",":","torch","class","Activation","function","for","SE","Module","(","default","torch.nn.Sigmoid",")",".","norm",":","torch","class","Normalization","to","regularize","the","model","(","default","BatchNorm1d",")",".","residuals",":","bool","Whether","to","apply","residual","connection","at","this","context","block","(","default","None",")",".","Example","--","--","--","-",">",">",">","inp","=","torch.randn","(","[","8",",","120",",","40","]",")",">",">",">","block","=","ContextNetBlock","(","256",",","3",",","5",",","12",",","input_shape=inp.shape",",","stride=2",")",">",">",">","out","=","block","(","inp",")",">",">",">","out.shape","torch.Size","(","[","8",",","60",",","256","]",")"]
docstr: Processes the input tensor x and returns an output tensor.
docstr_tok: ["Processes","the","input","tensor","x","and","returns","an","output","tensor","."]
code: def forward(self, x):
      """Processes the input tensor x and returns an output tensor."""
      out = self.Convs(x)
      out = self.SE(out)
      if self.reduced_cov:
          out = out + self.reduced_cov(x)
      out = self.activation(out)
      return self.drop(out)
  
file_path: speechbrain/speechbrain/lobes/models/ContextNet.py
imports: import torch
  from torch.nn import Dropout
  from speechbrain.nnet.CNN import DepthwiseSeparableConv1d, Conv1d
  from speechbrain.nnet.linear import Linear
  from speechbrain.nnet.pooling import AdaptivePool
  from speechbrain.nnet.containers import Sequential
  from speechbrain.nnet.normalization import BatchNorm1d
  from speechbrain.nnet.activations import Swish
label_desc: Use image node_id 2 for calling the ContextNetBlock obj's underlying member method code with example usage: obj.forward(x) and returns: self