Hello all,
I am getting different predictions for following case:
m0 = torch.load("path_to_model")
m0.eval()

m1 = torch.load("path_to_model") # I use the same path
for param in m1.parameters():
  param.requires_grad = False

prediction0 = m0(datum)
prediction1 = m1(datum)

prediction1 is consistently more accurate than prediction0.

Printed out the sum of weights for m0 and m1. Bias terms are exactly the same but all other weights are different. Also, from datum to datum, weights do not change for both models.
The only stochastic component is a dropout within the model, but during training, it was set to 0.
Datum is just raw tokenized text.
Model consists of nn.Linear, nn.Embedding and nn.LSTM layers.
All of this code segment is running inside another model during training. I wonder if that could be the reason.

Any pointers on this?