| 12 | class Multiscale_Module(nn.Module): |
| 13 | |
| 14 | def __init__(self, in_channels=None, channels_per_layer=None, out_shape=None, |
| 15 | dil_rate=1, use_act=False, *args, **kwargs): |
| 16 | super().__init__() |
| 17 | self.out_shape = out_shape |
| 18 | self.use_act = use_act |
| 19 | |
| 20 | self.multi_3 = nn.Conv1d(in_channels=in_channels, out_channels=channels_per_layer, |
| 21 | kernel_size=5, stride=1, dilation=dil_rate) |
| 22 | self.multi_5 = nn.Conv1d(in_channels=in_channels, out_channels=channels_per_layer, |
| 23 | kernel_size=6, stride=1, dilation=dil_rate) |
| 24 | self.multi_7 = nn.Conv1d(in_channels=in_channels, out_channels=channels_per_layer, |
| 25 | kernel_size=9, stride=1, dilation=dil_rate) |
| 26 | self.after_concat = nn.Conv1d(in_channels=int(channels_per_layer * 3), |
| 27 | out_channels=int(channels_per_layer / 2), kernel_size=1, stride=1) |
| 28 | self.gap = GAP() |
| 29 | |
| 30 | def forward(self, x): |
| 31 | x_3 = self.multi_3(x) |