You cannot calculate precision and recall directly at the minibatch level and aggregate then, but you have to decide for each item in the minibatch whether it is true positive, false positive, true negative, or false negative.
After accumulating the counts of those four over your dataset (i.e. doing loop of minibatches from your dataloader) you calculate precision = true_positives / (true_positives + false_positives) and recall = true_postivies / (true_positives + false_negatives) 105.
Best regards
Thomas