def __init__(self, in_channels, n_classes):
    super(SCNN, self).__init__()
    self.conv1 = nn.Sequential(nn.Conv2d(in_channels, out_channels=16, kernel_size=3), nn.ReLU(), nn.MaxPool2d(kernel_size=2))
    self.conv2 = nn.Sequential(nn.Conv2d(16, out_channels=32, kernel_size=3), nn.ReLU(), nn.MaxPool2d(kernel_size=2))
    self.conv3 = nn.Sequential(nn.Conv2d(32, out_channels=64, kernel_size=3), nn.ReLU(), nn.MaxPool2d(kernel_size=2))
    self.fc = nn.Sequential(nn.Linear(43264, 4096), nn.BatchNorm1d(4096), nn.ReLU(inplace=True), nn.Dropout(p=0.5), nn.Linear(4096, 512), nn.BatchNorm1d(512), nn.ReLU(inplace=True), nn.Dropout(p=0.5), nn.Linear(512, n_classes))
def __init__(self, in_channels, n_classes):
    super(SCNN, self).__init__()
    self.conv1 = nn.Sequential(nn.Conv2d(in_channels, out_channels=16, kernel_size=3), nn.ReLU(), nn.MaxPool2d(kernel_size=2))
    self.conv2 = nn.Sequential(nn.Conv2d(16, out_channels=32, kernel_size=3), nn.ReLU(), nn.MaxPool2d(kernel_size=2))
    self.conv3 = nn.Sequential(nn.Conv2d(32, out_channels=64, kernel_size=3), nn.ReLU(), nn.MaxPool2d(kernel_size=2))
    self.fc = nn.Sequential(nn.Linear(43264, 4096), nn.BatchNorm1d(4096), nn.ReLU(inplace=True), nn.Dropout(p=0.5), nn.Linear(4096, 512), nn.BatchNorm1d(512), nn.ReLU(inplace=True), nn.Dropout(p=0.5), nn.Linear(512, n_classes))