No loss output when using model.eval() for validation

Hi, I am currently using a Faster R-CNN pretrained model to detect bounding boxes on chest x-rays, I understand that for validation and testing i need to put my model in the model.eval() mode first in order for the dropout and bn layers to behave appropriately. However, when using model.eval() the model does not output the loss only predictions. Below is the code for my testing:

model = _get_detection_model(num_classes)
model.load_state_dict(torch.load(base_path + "model.pt", map_location=torch.device('cpu')))
model.eval() # or model.train()

with torch.no_grad():
    for batch_i, (batch_images, batch_targets) in enumerate(data_loader_test):

        image = list(img.to(device) for img in batch_images)
        target = [{k: v.to(device) for k, v in t.items()} for t in batch_targets]

        model_out = model(image, target)
        print(model_out)

With model.train() I get:

{'loss_classifier': tensor(0.0107), 'loss_box_reg': tensor(0.0981), 'loss_objectness': tensor(0.0008), 'loss_rpn_box_reg': tensor(0.0045)}

With mode.eval() I get:

[{'boxes': tensor([[ 58.0476,   0.0000, 245.1829, 256.0000],
                   [ 10.4306,   0.0000, 168.1798, 256.0000]]), 'labels': tensor([1, 1]), 'scores': tensor([0.9138, 0.9129])}]

How can I get the model to output both the loss and the predictions?