(self, )
| 90 | return top1, ce_loss, |
| 91 | |
| 92 | def test(self, ): |
| 93 | model = self.model |
| 94 | loader = self.test_loader |
| 95 | |
| 96 | with torch.no_grad(): |
| 97 | model.eval() |
| 98 | ce = CrossEntropyLabelSmooth(loader.dataset.num_classes) |
| 99 | |
| 100 | total_ce = 0 |
| 101 | total = 0 |
| 102 | top1 = 0 |
| 103 | |
| 104 | for i, (batch, label) in enumerate(loader): |
| 105 | batch, label = batch.to('cuda'), label.to('cuda') |
| 106 | total += batch.size(0) |
| 107 | out = model(batch) |
| 108 | _, pred = out.max(dim=1) |
| 109 | top1 += int(pred.eq(label).sum().item()) |
| 110 | |
| 111 | total_ce += ce(out, label).item() |
| 112 | |
| 113 | return float(top1) / total * 100, total_ce / (i + 1) |
| 114 | |
| 115 | def train(self, ): |
| 116 | model = self.model |
no test coverage detected