-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.py
30 lines (26 loc) · 1.1 KB
/
test.py
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
27
28
29
30
from train import Trainer
from utils.config import opt
import torch
from torch.utils.data import DataLoader
from data.fetus_dataset_coco import COCO_Dataset, collate_fn
import argparse
parser = argparse.ArgumentParser()
opt.local_rank = opt.enable_GPUs_id[0]
opt.distributed = False
opt.device = torch.device("cuda:{}".format(opt.local_rank))
parser.add_argument("--path", type=str, default='checkpoints/res101pre_gpu7_heart_c1-c2_05131829_0.6961499205725439')
args = parser.parse_args()
testset = COCO_Dataset(opt, operation='test', domain='Target')
annnotations = testset.data['categories']
test_dataloader = DataLoader(testset,
collate_fn = collate_fn(opt),
batch_size=1,
num_workers=opt.test_num_workers,
shuffle=False,)
Train = Trainer(opt)
Train.load(args.path)
test_result = Train.eval(test_dataloader, test_num=opt.test_num)
print(f"mAP:{str(test_result['map'])}")
for i in range(1, len(test_result['ap'])):
name = annnotations[i-1]['name']
print(f"{name}--{round(test_result['ap'][i], 4)}")