import torch.nn as nn class SISUGenerator(nn.Module): def __init__(self): # No noise_dim parameter super(SISUGenerator, self).__init__() self.model = nn.Sequential( nn.Conv1d(2, 64, kernel_size=7, stride=1, padding=3), # Input 2 channels (low-quality audio) nn.LeakyReLU(0.2), nn.Conv1d(64, 64, kernel_size=7, stride=1, padding=3), nn.LeakyReLU(0.2), nn.Conv1d(64, 128, kernel_size=5, stride=2, padding=2), nn.LeakyReLU(0.2), nn.Conv1d(128, 128, kernel_size=5, stride=1, padding=2), nn.LeakyReLU(0.2), nn.ConvTranspose1d(128, 64, kernel_size=4, stride=2, padding=1), nn.LeakyReLU(0.2), nn.Conv1d(64, 64, kernel_size=3, stride=1, padding=1), nn.LeakyReLU(0.2), nn.Conv1d(64, 2, kernel_size=3, stride=1, padding=1), # Output 2 channels (high-quality audio) nn.Tanh() ) def forward(self, x): return self.model(x)