Did you use multiple layers in your forward method with the same name from your init method?
e.g.
in init,
self.conv1 =  nn.Conv2d(…)
in forward,
…
x = conv1(x)
x = conv1(x)
…
but instead do:
init,
self.conv1 = nn.conv2d(…)
self.conv2 = nn.conv2d(…)
forward,
…
x = conv1(x)
x = conv2(x)
…
I encountered a similar issue with eval() giving different results, try it
I recall a forum post that solved this issue, i believe it could be related to some pytorch internals