def __init__(self, n_input, n_output, kernel_size=3, stride=2):
    super().__init__()
    self.c1 = torch.nn.Conv2d(n_input, n_output, kernel_size=kernel_size, padding=(kernel_size // 2), stride=stride, bias=False)
    self.c2 = torch.nn.Conv2d(n_output, n_output, kernel_size=kernel_size, padding=(kernel_size // 2), bias=False)
    self.c3 = torch.nn.Conv2d(n_output, n_output, kernel_size=kernel_size, padding=(kernel_size // 2), bias=False)
    self.b1 = torch.nn.BatchNorm2d(n_output)
    self.b2 = torch.nn.BatchNorm2d(n_output)
    self.b3 = torch.nn.BatchNorm2d(n_output)
    self.skip = torch.nn.Conv2d(n_input, n_output, kernel_size=1, stride=stride)
def __init__(self, n_input, n_output, kernel_size=3, stride=2):
    super().__init__()
    self.c1 = torch.nn.Conv2d(n_input, n_output, kernel_size=kernel_size, padding=(kernel_size // 2), stride=stride, bias=False)
    self.c2 = torch.nn.Conv2d(n_output, n_output, kernel_size=kernel_size, padding=(kernel_size // 2), bias=False)
    self.c3 = torch.nn.Conv2d(n_output, n_output, kernel_size=kernel_size, padding=(kernel_size // 2), bias=False)
    self.b1 = torch.nn.BatchNorm2d(n_output)
    self.b2 = torch.nn.BatchNorm2d(n_output)
    self.b3 = torch.nn.BatchNorm2d(n_output)
    self.skip = torch.nn.Conv2d(n_input, n_output, kernel_size=1, stride=stride)