| import torch |
| import torch.nn as nn |
| from .base_postprocessor import BasePostprocessor |
| from .mds_ensemble_postprocessor import get_MDS_stat |
|
|
|
|
| class SSDPostprocessor(BasePostprocessor): |
| def __init__(self, config): |
| self.config = config |
| self.postprocessor_args = config.postprocessor.postprocessor_args |
|
|
| self.feature_type_list = self.postprocessor_args.feature_type_list |
| self.reduce_dim_list = self.postprocessor_args.reduce_dim_list |
|
|
| |
| self.num_classes = 1 |
| self.num_layer = len(self.feature_type_list) |
|
|
| self.feature_mean, self.feature_prec = None, None |
|
|
| def setup(self, net: nn.Module, id_loader_dict, ood_loader_dict): |
| self.feature_mean, self.feature_prec, self.transform_matrix = \ |
| get_MDS_stat(net, id_loader_dict['train'], self.num_classes, |
| self.feature_type_list, self.reduce_dim_list) |
|
|