I have a two-classes classification problem where I use the following model in training and testing:
# Load the model based on VGG19
vgg_based = torchvision.models.vgg19(pretrained=True)
# freeze the layers
#for param in vgg_based.parameters():
# param.requires_grad = False
# Modify the last layer
number_features = vgg_based.classifier.in_features
features = list(vgg_based.classifier.children())[:-1] # Remove last layer
features.extend([nn.Linear(number_features, 1), nn.Sigmoid()])
vgg_based.classifier = torch.nn.Sequential(*features)
The question is why I am getting different classification accuracies on the testing set: first is 94.5% and the second is 74%?
The first platform is Windows, python 3.8, pytorch 1.12.1
The second platform is Ubuntu on AWS, python 3.9, pytorch 1.12.1
I use shuffling and augmentation on the training set. I repeated the experiments several times and I get the same different results. The code and the data are the same.