You are using an nn.Dropout layer in your model, which will randomly drop the activations during training, so the different outputs are expected.
Call model.eval() and it should work (unless you are using other random operations).