def gen_parser(): parser = argparse.ArgumentParser( description='Rare Category Detection', formatter_class=argparse.RawTextHelpFormatter) ExpConf.gen_parser(parser, filters=True, sparse=True) AnnotationsConf.gen_parser( parser, default='init_annotations.csv', required=False, message='CSV file containing the initial annotations ' 'used to learn the first supervised detection ' 'model.') strategies_conf.get_factory().gen_parser('Rcd', parser) return parser
def gen_parser(): parser = argparse.ArgumentParser( description='Active Learning', formatter_class=argparse.RawTextHelpFormatter) ExpConf.gen_parser(parser, filters=True, sparse=True) AnnotationsConf.gen_parser( parser, default=None, required=False, message='CSV file containing the initial annotations ' 'used to learn the first detection model.') subparsers = parser.add_subparsers(dest='strategy') subparsers.required = True strategies = strategies_conf.get_factory().get_methods() for strategy in strategies: strategy_parser = subparsers.add_parser(strategy) strategies_conf.get_factory().gen_parser(strategy, strategy_parser) return parser
def from_args(args): secuml_conf = ExpConf.secuml_conf_from_args(args) logger = secuml_conf.logger dataset_conf = DatasetConf.from_args(args, logger) features_conf = FeaturesConf.from_args(args, logger) annotations_conf = AnnotationsConf(args.annotations_file, None, logger) core_conf = strategies_conf.get_factory().from_args('Rcd', args, logger) return RcdConf(secuml_conf, dataset_conf, features_conf, annotations_conf, core_conf, name=args.exp_name)
def from_args(args): secuml_conf = ExpConf.secuml_conf_from_args(args) dataset_conf = DatasetConf.from_args(args, secuml_conf.logger) features_conf = FeaturesConf.from_args(args, secuml_conf.logger) annotations_conf = AnnotationsConf(args.annotations_file, None, secuml_conf.logger) core_conf = strategies_conf.get_factory().from_args(args.strategy, args, secuml_conf.logger) return ActiveLearningConf(secuml_conf, dataset_conf, features_conf, annotations_conf, core_conf, name=args.exp_name)
def from_json(conf_json, secuml_conf): logger = secuml_conf.logger dataset_conf = DatasetConf.from_json(conf_json['dataset_conf'], logger) features_conf = FeaturesConf.from_json(conf_json['features_conf'], logger) annotations_conf = AnnotationsConf.from_json( conf_json['annotations_conf'], logger) factory = strategies_conf.get_factory() core_conf = factory.from_json(conf_json['core_conf'], logger) conf = RcdConf(secuml_conf, dataset_conf, features_conf, annotations_conf, core_conf, name=conf_json['name'], parent=conf_json['parent']) conf.exp_id = conf_json['exp_id'] return conf