class_docstr: Squeeze and Excite module implementation with conv1d layers
  input:
      inp_filters: input filter channel size 
      se_filters: intermediate squeeze and excite channel output and input size
      out_filters: output filter channel size
      kernel_size: kernel_size for both conv1d layers
      dilation: dilation size for both conv1d layers
  
  output:
      squeeze and excite layer output
class_docstr_tok: ["Squeeze","and","Excite","module","implementation","with","conv1d","layers","input",":","inp_filters",":","input","filter","channel","size","se_filters",":","intermediate","squeeze","and","excite","channel","output","and","input","size","out_filters",":","output","filter","channel","size","kernel_size",":","kernel_size","for","both","conv1d","layers","dilation",":","dilation","size","for","both","conv1d","layers","output",":","squeeze","and","excite","layer","output"]
code: def forward(self, input, length=None):
      if length is None:
          x = torch.mean(input, dim=2, keep_dim=True)
      else:
          max_len = input.size(2)
          mask, num_values = lens_to_mask(
              length, max_len=max_len, device=input.device
          )
          x = torch.sum((input * mask), dim=2, keepdim=True) / (
              num_values
          )
  
      out = self.se_layer(x)
      return out * input
  
imports: from typing import List
  import torch
  from numpy import inf
  from torch import nn
  from torch.nn import functional
  from nemo.collections.asr.parts.submodules.jasper import get_same_padding, init_weights
label_desc: Use image node_id 2 for calling the MaskedSEModule obj's underlying member method code with example usage: obj.forward(input, length) and returns: unknown