After doing some debugging I think I know what I did wrong. Like you said I was only getting the accuracy of the past batch, lets say 97 and it was diving that number of the items in my validation data set (in my case around 40) so that’s why I was getting 2.33 as a number for accuracy. So now what I’m going to do is sum all the accuracies  and  divide that sum by the length of my dataset, and that should give me the correct accuracy for the epoch.
But I do have one question, how can I get the number 0.8875 within the tensor tensor(0.8875, device='cuda:0')