Is the final result the one you’ve posted in your first post, i.e. 10 times lower for a batch size of one?
One common mistake would be, if you set size_average=False for the loss function, but apparently you leave it as the default value, i.e. True.
Could you post your model architecture, so that we can be sure there is nothing wrong?