I cannot reproduce the issue. I’ve used two DataLoaders with a batch size of 10 and a batch size of 1, respectively. Both loops yield the same results using model.eval().
I haven’t used model.train(), since e.g. the BatchNorm layers will update their running estimates, which might yield different results.
Using your second approach (loop over Dataset), I would expect to get a size mismatch error, since the batch dimension should be missing. Could you check that?