Thanks,
after changing code to:
 for batch, (images, labels) in dataIter:
            startTime = time.time()
            import torch
            with torch.no_grad():
                outputs = self.forward(images)
            # loss = self.criterion(outputs, labels.cuda())
            # self.backward(loss)
            self.backbone.eval()
            outputs_eval = self.forward(images)
            print("hello")

outputs is still totally different form output_eval