12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #!/usr/bin/env python
- if __name__ != '__main__': raise Exception("Do not import me!")
- import sys
- sys.path.insert(0, "..")
- try:
- from yaml import CLoader as Loader, CDumper as Dumper
- except ImportError:
- from yaml import Loader, Dumper
- import yaml
- import logging
- from argparse import ArgumentParser
- from nabirds import CUB_Annotations, Dataset
- def init_logger(args):
- fmt = "%(levelname)s - [%(asctime)s] %(filename)s:%(lineno)d [%(funcName)s]: %(message)s"
- logging.basicConfig(
- format=fmt,
- level=getattr(logging, args.loglevel.upper(), logging.DEBUG),
- filename=args.logfile or None,
- filemode="w")
- def main(args):
- init_logger(args)
- annot = CUB_Annotations.from_info_file(
- args.info, args.parts, args.feature_model)
- logging.info("Loaded data from \"{}\"".format(annot.root))
- uuids = getattr(annot, "{}_uuids".format(args.subset))
- data = Dataset(
- uuids=uuids, annotations=annot,
- seed=args.seed
- )
- logging.info("Loaded {} {} images".format(len(data), args.subset))
- parser = ArgumentParser()
- parser.add_argument("info")
- parser.add_argument("--parts", "-p",
- choices=["GT", "GT2", "NAC", "L1_pred", "L1_full"]
- )
- parser.add_argument("--feature_model",
- choices=["inception", "inception_tf", "resnet"]
- )
- parser.add_argument("--subset", "-s",
- help="Possible subsets: train, test",
- choices=["train", "test"],
- default="train", type=str)
- parser.add_argument(
- '--logfile', type=str, default='',
- help='File for logging output')
- parser.add_argument(
- '--loglevel', type=str, default='INFO',
- help='logging level. see logging module for more information')
- parser.add_argument(
- '--seed', type=int, default=12311123,
- help='random seed')
- main(parser.parse_args())
|