File size: 1,172 Bytes
5fa1a76
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import evaluate
from tqdm import tqdm
model = AutoModelForObjectDetection.from_pretrained("devonho/detr-resnet-50_finetuned_cppe5")
module = evaluate.load("ybelkada/cocoevaluate", coco=test_ds_coco_format.coco)
val_dataloader = torch.utils.data.DataLoader(
     test_ds_coco_format, batch_size=8, shuffle=False, num_workers=4, collate_fn=collate_fn
 )
with torch.no_grad():
     for idx, batch in enumerate(tqdm(val_dataloader)):
         pixel_values = batch["pixel_values"]
         pixel_mask = batch["pixel_mask"]

         labels = [
             {k: v for k, v in t.items()} for t in batch["labels"]
         ]  # these are in DETR format, resized + normalized
         # forward pass
         outputs = model(pixel_values=pixel_values, pixel_mask=pixel_mask)
         orig_target_sizes = torch.stack([target["orig_size"] for target in labels], dim=0)
         results = im_processor.post_process(outputs, orig_target_sizes)  # convert outputs of model to Pascal VOC format (xmin, ymin, xmax, ymax)
         module.add(prediction=results, reference=labels)
         del batch

results = module.compute()
print(results)
Accumulating evaluation results
DONE (t=0.08s).