MCPcopy Create free account
hub / github.com/PaddlePaddle/Research / test

Function test

CV/SMILE/test.py:71–110  ·  view source on GitHub ↗

Test for whole dataset Args: dataloader: paddle.io.DataLoader, dataloader instance model: nn.Layer, a ViT model criterion: nn.criterion total_batch: int, total num of batches for one epoch debug_steps: int, num of iters to log info, default: 100 lo

(dataloader, model_tgt, criterion, total_batch, debug_steps=100)

Source from the content-addressed store, hash-verified

69
70
71def test(dataloader, model_tgt, criterion, total_batch, debug_steps=100):
72 """Test for whole dataset
73 Args:
74 dataloader: paddle.io.DataLoader, dataloader instance
75 model: nn.Layer, a ViT model
76 criterion: nn.criterion
77 total_batch: int, total num of batches for one epoch
78 debug_steps: int, num of iters to log info, default: 100
79 logger: logger for logging, default: None
80 Returns:
81 test_loss_meter.avg: float, average loss on current process/gpu
82 test_acc1_meter.avg: float, average top1 accuracy on current process/gpu
83 test_time: float, test time
84 """
85 model_tgt.eval()
86 losses = []
87 accuracies = []
88 time_st = time.time()
89
90 with paddle.no_grad():
91 for batch_id, data in enumerate(dataloader):
92 image = data[0]
93 label = paddle.unsqueeze(data[1], 1)
94 logits, _, _= model_tgt(image)
95
96 loss = criterion(logits, label)
97 acc = paddle.metric.accuracy(logits, label)
98 accuracies.append(acc.numpy())
99 losses.append(loss.numpy())
100
101 avg_acc, avg_loss = np.mean(accuracies), np.mean(losses)
102
103 if batch_id % debug_steps == 0 and batch_id != 0:
104 print(
105 f"Val Step[{batch_id:04d}/{total_batch:04d}], " +
106 f"Avg Loss: {avg_loss}, " +
107 f"Avg Acc@1: {avg_acc}, ")
108
109 val_time = time.time() - time_st
110 return avg_loss, avg_acc, val_time
111
112
113def test_cnn(args):

Callers 1

test_cnnFunction · 0.70

Calls 3

accuracyMethod · 0.80
evalMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected