ShiftedBronzes / OpenOOD /openood /postprocessors /mcm_postprocessor.py
AnonymousUser20's picture
Upload 1314 files
178d33b verified
Raw
History Blame Contribute Delete
758 Bytes
from typing import Any
import numpy as np
import torch
import torch.nn as nn
import torch.nn.functional as F
from .base_postprocessor import BasePostprocessor
class MCMPostprocessor(BasePostprocessor):
def __init__(self, config):
super(MCMPostprocessor, self).__init__(config)
self.args = self.config.postprocessor.postprocessor_args
self.tau = self.args.tau
@torch.no_grad()
def postprocess(self, net: nn.Module, data: Any):
output = net(data)
score = torch.softmax(output / self.tau, dim=1)
conf, pred = torch.max(score, dim=1)
return pred, conf
def set_hyperparam(self, hyperparam: list):
self.tau = hyperparam[0]
def get_hyperparam(self):
return self.tau