AnonymousUser20's picture
Upload 1314 files
178d33b verified
Raw
History Blame Contribute Delete
3.46 kB
import os
import urllib.request
from openood.postprocessors import (
ASHPostprocessor, BasePostprocessor, ConfBranchPostprocessor, CutPastePostprocessor,
DICEPostprocessor, DRAEMPostprocessor, DropoutPostProcessor, DSVDDPostprocessor,
EBOPostprocessor, EnsemblePostprocessor, GMMPostprocessor, GodinPostprocessor,
GradNormPostprocessor, GRAMPostprocessor, KLMatchingPostprocessor, KNNPostprocessor,
MaxLogitPostprocessor, MCDPostprocessor, MDSPostprocessor, MDSEnsemblePostprocessor,
MOSPostprocessor, ODINPostprocessor, OpenGanPostprocessor, OpenMax, PatchcorePostprocessor,
Rd4adPostprocessor, ReactPostprocessor, ResidualPostprocessor, ScalePostprocessor,
SSDPostprocessor, TemperatureScalingPostprocessor, VIMPostprocessor, RotPredPostprocessor,
RankFeatPostprocessor, RMDSPostprocessor, SHEPostprocessor, CIDERPostprocessor, NPOSPostprocessor,
GENPostprocessor, NNGuidePostprocessor, RelationPostprocessor, BronzeNet2Postprocessor)
from openood.utils.config import Config, merge_configs
postprocessors = {
'ash': ASHPostprocessor,
'cider': CIDERPostprocessor,
'conf_branch': ConfBranchPostprocessor,
'msp': BasePostprocessor,
'ebo': EBOPostprocessor,
'odin': ODINPostprocessor,
'mds': MDSPostprocessor,
'mds_ensemble': MDSEnsemblePostprocessor,
'npos': NPOSPostprocessor,
'rmds': RMDSPostprocessor,
'gmm': GMMPostprocessor,
'patchcore': PatchcorePostprocessor,
'openmax': OpenMax,
'react': ReactPostprocessor,
'vim': VIMPostprocessor,
'gradnorm': GradNormPostprocessor,
'godin': GodinPostprocessor,
'mds': MDSPostprocessor,
'gram': GRAMPostprocessor,
'cutpaste': CutPastePostprocessor,
'mls': MaxLogitPostprocessor,
'residual': ResidualPostprocessor,
'klm': KLMatchingPostprocessor,
'temp_scaling': TemperatureScalingPostprocessor,
'ensemble': EnsemblePostprocessor,
'dropout': DropoutPostProcessor,
'draem': DRAEMPostprocessor,
'dsvdd': DSVDDPostprocessor,
'mos': MOSPostprocessor,
'mcd': MCDPostprocessor,
'opengan': OpenGanPostprocessor,
'knn': KNNPostprocessor,
'dice': DICEPostprocessor,
'scale': ScalePostprocessor,
'ssd': SSDPostprocessor,
'she': SHEPostprocessor,
'rd4ad': Rd4adPostprocessor,
'rotpred': RotPredPostprocessor,
'rankfeat': RankFeatPostprocessor,
'gen': GENPostprocessor,
'nnguide': NNGuidePostprocessor,
'relation': RelationPostprocessor,
'BronzeNet2': BronzeNet2Postprocessor
}
link_prefix = 'https://raw.githubusercontent.com/Jingkang50/OpenOOD/main/configs/postprocessors/'
def get_postprocessor(config_root: str, postprocessor_name: str, id_data_name: str):
postprocessor_config_path = os.path.join(config_root, 'postprocessors',
f'{postprocessor_name}.yml')
if not os.path.exists(postprocessor_config_path):
os.makedirs(os.path.dirname(postprocessor_config_path), exist_ok=True)
urllib.request.urlretrieve(link_prefix + f'{postprocessor_name}.yml',
postprocessor_config_path)
config = Config(postprocessor_config_path)
config = merge_configs(config, Config(**{'dataset': {'name': id_data_name}}))
postprocessor = postprocessors[postprocessor_name](config)
postprocessor.APS_mode = config.postprocessor.APS_mode
postprocessor.hyperparam_search_done = False
return postprocessor