def forward(self, x0):
    x0 = self.conv1(x0)
    x0 = self.bn1(x0)
    x0 = self.relu(x0)
    x0 = self.maxpool(x0)

    x = self.layer3x3_1(x0)
    x = self.layer3x3_2(x)
    x = self.layer3x3_3(x)
    x = self.layer3x3_4(x)
    x = self.layer3x3_5(x)           
    x = self.maxpool3(x) 

    y = self.layer5x5_1(x0)
    y = self.layer5x5_2(y)
    y = self.layer5x5_3(y)
    y = self.layer5x5_4(y)
    y = self.maxpool5(y)

    z = self.layer7x7_1(x0)
    z = self.layer7x7_2(z)
    z = self.layer7x7_3(z)
    z = self.maxpool7(z)

    xx = self.layer9x9_1(x0)
    xx = self.layer9x9_2(xx)
    xx = self.layer9x9_3(xx)
    xx = self.maxpool9(xx)

    out = torch.cat([x, y, z, xx], dim=1)

    out = out.squeeze()
    # out = self.drop(out)
    out1 = self.fc(out)
    
    return out1, out