class_docstr: A 1D convolution layer with Xavier initialization
  
  Arguments
  ---------
  in_channels: int
      the number of input channels
  out_channels: int
      the number of output channels
  kernel_size: int
      the kernel size
  stride: int
      the convolutional stride
  padding: int
      the amount of padding to include. If not provided, it will be calculated
      as dilation * (kernel_size - 1) / 2
  dilation: int
      the dilation of the convolution
  bias: bool
      whether or not to use a bias
  w_init_gain: linear
      the weight initialization gain type (see torch.nn.init.calculate_gain)
  
  Example
  -------
  >>> import torch
  >>> from speechbrain.lobes.models.Tacotron2 import ConvNorm
  >>> layer = ConvNorm(in_channels=10, out_channels=5, kernel_size=3)
  >>> x = torch.randn(3, 10, 5)
  >>> y = layer(x)
  >>> y.shape
  torch.Size([3, 5, 5])
class_docstr_tok: ["A","1D","convolution","layer","with","Xavier","initialization","Arguments","--","--","--","--","-","in_channels",":","int","the","number","of","input","channels","out_channels",":","int","the","number","of","output","channels","kernel_size",":","int","the","kernel","size","stride",":","int","the","convolutional","stride","padding",":","int","the","amount","of","padding","to","include",".","If","not","provided",",","it","will","be","calculated","as","dilation","*","(","kernel_size","-","1",")","\/","2","dilation",":","int","the","dilation","of","the","convolution","bias",":","bool","whether","or","not","to","use","a","bias","w_init_gain",":","linear","the","weight","initialization","gain","type","(","see","torch.nn.init.calculate_gain",")","Example","--","--","--","-",">",">",">","import","torch",">",">",">","from","speechbrain.lobes.models.Tacotron2","import","ConvNorm",">",">",">","layer","=","ConvNorm","(","in_channels=10",",","out_channels=5",",","kernel_size=3",")",">",">",">","x","=","torch.randn","(","3",",","10",",","5",")",">",">",">","y","=","layer","(","x",")",">",">",">","y.shape","torch.Size","(","[","3",",","5",",","5","]",")"]
docstr: Computes the forward pass
  
  Arguments
  ---------
  signal: torch.Tensor
      the input to the convolutional layer
  
  Returns
  -------
  output: torch.Tensor
      the output
docstr_tok: ["Computes","the","forward","pass","Arguments","--","--","--","--","-","signal",":","torch.Tensor","the","input","to","the","convolutional","layer","Returns","--","--","--","-","output",":","torch.Tensor","the","output"]
code: def forward(self, signal):
      """Computes the forward pass
  
      Arguments
      ---------
      signal: torch.Tensor
          the input to the convolutional layer
  
      Returns
      -------
      output: torch.Tensor
          the output
      """
      return self.conv(signal)
  
imports: from math import sqrt
  from speechbrain.nnet.loss.guidedattn_loss import GuidedAttentionLoss
  from speechbrain.lobes.models.transformer.Transformer import get_mask_from_lengths
  import torch
  from torch import nn
  from torch.nn import functional
  from collections import namedtuple
label_desc: Use image node_id 2 for calling the ConvNorm obj's underlying member method code with example usage: obj.forward(signal) and returns: self