Example #1
0
    def evaluate(model, testloader):
        model.eval()
        # loss
        top1 = AverageMeter()
        top5 = AverageMeter()
        for _, (inputs, targets) in enumerate(testloader):
            # print(batch_idx)
            targets = Variable(targets).cuda()
            inputs = Variable(inputs).cuda()
            logits, _, _ = model(inputs)
            prec1, prec5 = Helper.accuracy(logits, targets, topk=(1, 5))

            top1.update(prec1.item(), inputs.size(0))
            top5.update(prec5.item(), inputs.size(0))

        sys.stdout.write('Acc@1: %.3f Acc@5: %.3f' % (top1.avg, top5.avg))
Example #2
0
    def evaluate_fgan_loss(inet, fnet, dataloader, nactors):
        print('Evaluate Fusion Network')
        inet.eval()
        fnet.eval()
        top1 = AverageMeter()
        top5 = AverageMeter()
        for batch_idx, (inputs, targets) in enumerate(dataloader):
            z_missed, z_missed_g, target_missed, _ = batch_process(
                inet, fnet, inputs, targets, nactors)
            out_missed_g = inet.module.classifier(z_missed_g)
            prec1, prec5 = Helper.accuracy(out_missed_g,
                                           target_missed,
                                           topk=(1, 5))
            top1.update(prec1.item(), target_missed.size(0))
            top5.update(prec5.item(), target_missed.size(0))
            del z_missed, z_missed_g, target_missed, _

        return top1.avg, top5.avg