Python utils.read_json() Examples
The following are 14
code examples of utils.read_json().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
utils
, or try the search function
.
Example #1
Source File: logger.py From pytorch-template with MIT License | 6 votes |
def setup_logging(save_dir, log_config='logger/logger_config.json', default_level=logging.INFO): """ Setup logging configuration """ log_config = Path(log_config) if log_config.is_file(): config = read_json(log_config) # modify logging paths based on run config for _, handler in config['handlers'].items(): if 'filename' in handler: handler['filename'] = str(save_dir / handler['filename']) logging.config.dictConfig(config) else: print("Warning: logging configuration file is not found in {}.".format(log_config)) logging.basicConfig(level=default_level)
Example #2
Source File: logger.py From vae-audio with MIT License | 6 votes |
def setup_logging(save_dir, log_config='logger/logger_config.json', default_level=logging.INFO): """ Setup logging configuration """ log_config = Path(log_config) if log_config.is_file(): config = read_json(log_config) # modify logging paths based on run config for _, handler in config['handlers'].items(): if 'filename' in handler: handler['filename'] = str(save_dir / handler['filename']) logging.config.dictConfig(config) else: print("Warning: logging configuration file is not found in {}.".format(log_config)) logging.basicConfig(level=default_level)
Example #3
Source File: model.py From models with MIT License | 5 votes |
def __init__(self, acc_model, don_model, features_path=None): self.don_model = joblib.load(don_model) self.acc_model = joblib.load(acc_model) if features_path is None: features_path = os.path.join(this_dir, "../features.json") self.features_metadata = read_json(features_path) # acceptor and donor site indexes are unified across SOI # NB! This indexes are pos=1 of the region, and index-1 is already pos=-1, not 0! self.don_i = 3 self.acc_i = -21 self.labranchor = kipoi.get_model("labranchor", with_dataloader=False) # add current dir to python path for multiprocessing sys.path.append(this_dir)
Example #4
Source File: model.py From models with MIT License | 5 votes |
def __init__(self, acc_model, don_model, features_path=None): self.don_model = joblib.load(don_model) self.acc_model = joblib.load(acc_model) if features_path is None: features_path = os.path.join(this_dir, "../features.json") self.features_metadata = read_json(features_path) # acceptor and donor site indexes are unified across SOI # NB! This indexes are pos=1 of the region, and index-1 is already pos=-1, not 0! self.don_i = 3 self.acc_i = -21 # add current dir to python path for multiprocessing sys.path.append(this_dir)
Example #5
Source File: parse_config.py From pytorch-template with MIT License | 5 votes |
def from_args(cls, args, options=''): """ Initialize this class from some cli arguments. Used in train, test. """ for opt in options: args.add_argument(*opt.flags, default=None, type=opt.type) if not isinstance(args, tuple): args = args.parse_args() if args.device is not None: os.environ["CUDA_VISIBLE_DEVICES"] = args.device if args.resume is not None: resume = Path(args.resume) cfg_fname = resume.parent / 'config.json' else: msg_no_cfg = "Configuration file need to be specified. Add '-c config.json', for example." assert args.config is not None, msg_no_cfg resume = None cfg_fname = Path(args.config) config = read_json(cfg_fname) if args.config and resume: # update new config for fine-tuning config.update(read_json(args.config)) # parse custom cli options into dictionary modification = {opt.target : getattr(args, _get_opt_name(opt.flags)) for opt in options} return cls(config, resume, modification)
Example #6
Source File: data_manager.py From ReXCam with MIT License | 4 votes |
def __init__(self, root='data', split_id=0, **kwargs): self.dataset_dir = osp.join(root, self.dataset_dir) self.dataset_url = 'http://users.soe.ucsc.edu/~manduchi/VIPeR.v1.0.zip' self.cam_a_path = osp.join(self.dataset_dir, 'VIPeR', 'cam_a') self.cam_b_path = osp.join(self.dataset_dir, 'VIPeR', 'cam_b') self.split_path = osp.join(self.dataset_dir, 'splits.json') self._download_data() self._check_before_run() self._prepare_split() splits = read_json(self.split_path) if split_id >= len(splits): raise ValueError("split_id exceeds range, received {}, but expected between 0 and {}".format(split_id, len(splits)-1)) split = splits[split_id] train = split['train'] query = split['query'] # query and gallery share the same images gallery = split['gallery'] train = [tuple(item) for item in train] query = [tuple(item) for item in query] gallery = [tuple(item) for item in gallery] num_train_pids = split['num_train_pids'] num_query_pids = split['num_query_pids'] num_gallery_pids = split['num_gallery_pids'] num_train_imgs = len(train) num_query_imgs = len(query) num_gallery_imgs = len(gallery) num_total_pids = num_train_pids + num_query_pids num_total_imgs = num_train_imgs + num_query_imgs print("=> VIPeR loaded") print("Dataset statistics:") print(" ------------------------------") print(" subset | # ids | # images") print(" ------------------------------") print(" train | {:5d} | {:8d}".format(num_train_pids, num_train_imgs)) print(" query | {:5d} | {:8d}".format(num_query_pids, num_query_imgs)) print(" gallery | {:5d} | {:8d}".format(num_gallery_pids, num_gallery_imgs)) print(" ------------------------------") print(" total | {:5d} | {:8d}".format(num_total_pids, num_total_imgs)) print(" ------------------------------") self.train = train self.query = query self.gallery = gallery self.num_train_pids = num_train_pids self.num_query_pids = num_query_pids self.num_gallery_pids = num_gallery_pids
Example #7
Source File: data_manager.py From ReXCam with MIT License | 4 votes |
def __init__(self, root='data', split_id=0, **kwargs): self.dataset_dir = osp.join(root, self.dataset_dir) self.dataset_url = 'http://personal.ie.cuhk.edu.hk/~ccloy/files/datasets/underground_reid.zip' self.probe_path = osp.join(self.dataset_dir, 'underground_reid', 'probe') self.gallery_path = osp.join(self.dataset_dir, 'underground_reid', 'gallery') self.split_mat_path = osp.join(self.dataset_dir, 'underground_reid', 'features_and_partitions.mat') self.split_path = osp.join(self.dataset_dir, 'splits.json') self._download_data() self._check_before_run() self._prepare_split() splits = read_json(self.split_path) if split_id >= len(splits): raise ValueError("split_id exceeds range, received {}, but expected between 0 and {}".format(split_id, len(splits)-1)) split = splits[split_id] train = split['train'] query = split['query'] gallery = split['gallery'] train = [tuple(item) for item in train] query = [tuple(item) for item in query] gallery = [tuple(item) for item in gallery] num_train_pids = split['num_train_pids'] num_query_pids = split['num_query_pids'] num_gallery_pids = split['num_gallery_pids'] num_train_imgs = len(train) num_query_imgs = len(query) num_gallery_imgs = len(gallery) num_total_pids = num_train_pids + num_gallery_pids num_total_imgs = num_train_imgs + num_query_imgs + num_gallery_imgs print("=> GRID loaded") print("Dataset statistics:") print(" ------------------------------") print(" subset | # ids | # images") print(" ------------------------------") print(" train | {:5d} | {:8d}".format(num_train_pids, num_train_imgs)) print(" query | {:5d} | {:8d}".format(num_query_pids, num_query_imgs)) print(" gallery | {:5d} | {:8d}".format(num_gallery_pids, num_gallery_imgs)) print(" ------------------------------") print(" total | {:5d} | {:8d}".format(num_total_pids, num_total_imgs)) print(" ------------------------------") self.train = train self.query = query self.gallery = gallery self.num_train_pids = num_train_pids self.num_query_pids = num_query_pids self.num_gallery_pids = num_gallery_pids
Example #8
Source File: data_manager.py From ReXCam with MIT License | 4 votes |
def __init__(self, root='data', split_id=0, **kwargs): self.dataset_dir = osp.join(root, self.dataset_dir) self.zip_path = osp.join(self.dataset_dir, 'CUHK01.zip') self.campus_dir = osp.join(self.dataset_dir, 'campus') self.split_path = osp.join(self.dataset_dir, 'splits.json') self._extract_file() self._check_before_run() self._prepare_split() splits = read_json(self.split_path) if split_id >= len(splits): raise ValueError("split_id exceeds range, received {}, but expected between 0 and {}".format(split_id, len(splits)-1)) split = splits[split_id] train = split['train'] query = split['query'] gallery = split['gallery'] train = [tuple(item) for item in train] query = [tuple(item) for item in query] gallery = [tuple(item) for item in gallery] num_train_pids = split['num_train_pids'] num_query_pids = split['num_query_pids'] num_gallery_pids = split['num_gallery_pids'] num_train_imgs = len(train) num_query_imgs = len(query) num_gallery_imgs = len(gallery) num_total_pids = num_train_pids + num_query_pids num_total_imgs = num_train_imgs + num_query_imgs print("=> CUHK01 loaded") print("Dataset statistics:") print(" ------------------------------") print(" subset | # ids | # images") print(" ------------------------------") print(" train | {:5d} | {:8d}".format(num_train_pids, num_train_imgs)) print(" query | {:5d} | {:8d}".format(num_query_pids, num_query_imgs)) print(" gallery | {:5d} | {:8d}".format(num_gallery_pids, num_gallery_imgs)) print(" ------------------------------") print(" total | {:5d} | {:8d}".format(num_total_pids, num_total_imgs)) print(" ------------------------------") self.train = train self.query = query self.gallery = gallery self.num_train_pids = num_train_pids self.num_query_pids = num_query_pids self.num_gallery_pids = num_gallery_pids
Example #9
Source File: data_manager.py From ReXCam with MIT License | 4 votes |
def __init__(self, root='data', split_id=0, min_seq_len=0, **kwargs): self.dataset_dir = osp.join(root, self.dataset_dir) self.dataset_url = 'https://files.icg.tugraz.at/f/8c709245bb/?raw=1' self.split_path = osp.join(self.dataset_dir, 'splits.json') self.cam_a_path = osp.join(self.dataset_dir, 'cam_a') self.cam_b_path = osp.join(self.dataset_dir, 'cam_b') self._download_data() self._check_before_run() self._prepare_split() splits = read_json(self.split_path) if split_id >= len(splits): raise ValueError("split_id exceeds range, received {}, but expected between 0 and {}".format(split_id, len(splits)-1)) split = splits[split_id] train = split['train'] query = split['query'] gallery = split['gallery'] train = [tuple(item) for item in train] query = [tuple(item) for item in query] gallery = [tuple(item) for item in gallery] num_train_pids = split['num_train_pids'] num_query_pids = split['num_query_pids'] num_gallery_pids = split['num_gallery_pids'] num_train_imgs = len(train) num_query_imgs = len(query) num_gallery_imgs = len(gallery) num_total_pids = num_train_pids + num_query_pids num_total_imgs = num_train_imgs + num_query_imgs print("=> PRID450S loaded") print("Dataset statistics:") print(" ------------------------------") print(" subset | # ids | # images") print(" ------------------------------") print(" train | {:5d} | {:8d}".format(num_train_pids, num_train_imgs)) print(" query | {:5d} | {:8d}".format(num_query_pids, num_query_imgs)) print(" gallery | {:5d} | {:8d}".format(num_gallery_pids, num_gallery_imgs)) print(" ------------------------------") print(" total | {:5d} | {:8d}".format(num_total_pids, num_total_imgs)) print(" ------------------------------") self.train = train self.query = query self.gallery = gallery self.num_train_pids = num_train_pids self.num_query_pids = num_query_pids self.num_gallery_pids = num_gallery_pids
Example #10
Source File: data_manager.py From ReXCam with MIT License | 4 votes |
def __init__(self, root='data', split_id=0, **kwargs): self.dataset_dir = osp.join(root, self.dataset_dir) self.dataset_url = 'http://www.eecs.qmul.ac.uk/~xiatian/iLIDS-VID/iLIDS-VID.tar' self.data_dir = osp.join(self.dataset_dir, 'i-LIDS-VID') self.split_dir = osp.join(self.dataset_dir, 'train-test people splits') self.split_mat_path = osp.join(self.split_dir, 'train_test_splits_ilidsvid.mat') self.split_path = osp.join(self.dataset_dir, 'splits.json') self.cam_1_path = osp.join(self.dataset_dir, 'i-LIDS-VID/images/cam1') # differ from video self.cam_2_path = osp.join(self.dataset_dir, 'i-LIDS-VID/images/cam2') self._download_data() self._check_before_run() self._prepare_split() splits = read_json(self.split_path) if split_id >= len(splits): raise ValueError("split_id exceeds range, received {}, but expected between 0 and {}".format(split_id, len(splits)-1)) split = splits[split_id] train_dirs, test_dirs = split['train'], split['test'] print("# train identites: {}, # test identites {}".format(len(train_dirs), len(test_dirs))) train, num_train_imgs, num_train_pids = self._process_data(train_dirs, cam1=True, cam2=True) query, num_query_imgs, num_query_pids = self._process_data(test_dirs, cam1=True, cam2=False) gallery, num_gallery_imgs, num_gallery_pids = self._process_data(test_dirs, cam1=False, cam2=True) num_total_pids = num_train_pids + num_query_pids num_total_imgs = num_train_imgs + num_query_imgs print("=> PRID450S loaded") print("Dataset statistics:") print(" ------------------------------") print(" subset | # ids | # images") print(" ------------------------------") print(" train | {:5d} | {:8d}".format(num_train_pids, num_train_imgs)) print(" query | {:5d} | {:8d}".format(num_query_pids, num_query_imgs)) print(" gallery | {:5d} | {:8d}".format(num_gallery_pids, num_gallery_imgs)) print(" ------------------------------") print(" total | {:5d} | {:8d}".format(num_total_pids, num_total_imgs)) print(" ------------------------------") self.train = train self.query = query self.gallery = gallery self.num_train_pids = num_train_pids self.num_query_pids = num_query_pids self.num_gallery_pids = num_gallery_pids
Example #11
Source File: data_manager.py From ReXCam with MIT License | 4 votes |
def __init__(self, root='data', split_id=0, min_seq_len=0, **kwargs): self.dataset_dir = osp.join(root, self.dataset_dir) self.split_path = osp.join(self.dataset_dir, 'splits_prid2011.json') self.cam_a_path = osp.join(self.dataset_dir, 'prid_2011', 'multi_shot', 'cam_a') self.cam_b_path = osp.join(self.dataset_dir, 'prid_2011', 'multi_shot', 'cam_b') self._check_before_run() splits = read_json(self.split_path) if split_id >= len(splits): raise ValueError("split_id exceeds range, received {}, but expected between 0 and {}".format(split_id, len(splits)-1)) split = splits[split_id] train_dirs, test_dirs = split['train'], split['test'] print("# train identites: {}, # test identites {}".format(len(train_dirs), len(test_dirs))) train, num_train_tracklets, num_train_pids, num_imgs_train = \ self._process_data(train_dirs, cam1=True, cam2=True) query, num_query_tracklets, num_query_pids, num_imgs_query = \ self._process_data(test_dirs, cam1=True, cam2=False) gallery, num_gallery_tracklets, num_gallery_pids, num_imgs_gallery = \ self._process_data(test_dirs, cam1=False, cam2=True) num_imgs_per_tracklet = num_imgs_train + num_imgs_query + num_imgs_gallery min_num = np.min(num_imgs_per_tracklet) max_num = np.max(num_imgs_per_tracklet) avg_num = np.mean(num_imgs_per_tracklet) num_total_pids = num_train_pids + num_query_pids num_total_tracklets = num_train_tracklets + num_query_tracklets + num_gallery_tracklets print("=> PRID2011 loaded") print("Dataset statistics:") print(" ------------------------------") print(" subset | # ids | # tracklets") print(" ------------------------------") print(" train | {:5d} | {:8d}".format(num_train_pids, num_train_tracklets)) print(" query | {:5d} | {:8d}".format(num_query_pids, num_query_tracklets)) print(" gallery | {:5d} | {:8d}".format(num_gallery_pids, num_gallery_tracklets)) print(" ------------------------------") print(" total | {:5d} | {:8d}".format(num_total_pids, num_total_tracklets)) print(" number of images per tracklet: {} ~ {}, average {:.1f}".format(min_num, max_num, avg_num)) print(" ------------------------------") self.train = train self.query = query self.gallery = gallery self.num_train_pids = num_train_pids self.num_query_pids = num_query_pids self.num_gallery_pids = num_gallery_pids
Example #12
Source File: data_manager.py From ReXCam with MIT License | 4 votes |
def _process_dir(self, dir_path, json_path, relabel): if osp.exists(json_path): print("=> {} generated before, awesome!".format(json_path)) split = read_json(json_path) return split['tracklets'], split['num_tracklets'], split['num_pids'], split['num_imgs_per_tracklet'] print("=> Automatically generating split (might take a while for the first time, have a coffe)") pdirs = glob.glob(osp.join(dir_path, '*')) # avoid .DS_Store print("Processing {} with {} person identities".format(dir_path, len(pdirs))) pid_container = set() for pdir in pdirs: pid = int(osp.basename(pdir)) pid_container.add(pid) pid2label = {pid:label for label, pid in enumerate(pid_container)} tracklets = [] num_imgs_per_tracklet = [] for pdir in pdirs: pid = int(osp.basename(pdir)) if relabel: pid = pid2label[pid] tdirs = glob.glob(osp.join(pdir, '*')) for tdir in tdirs: raw_img_paths = glob.glob(osp.join(tdir, '*.jpg')) num_imgs = len(raw_img_paths) if num_imgs < self.min_seq_len: continue num_imgs_per_tracklet.append(num_imgs) img_paths = [] for img_idx in range(num_imgs): # some tracklet starts from 0002 instead of 0001 img_idx_name = 'F' + str(img_idx+1).zfill(4) res = glob.glob(osp.join(tdir, '*' + img_idx_name + '*.jpg')) if len(res) == 0: print("Warn: index name {} in {} is missing, jump to next".format(img_idx_name, tdir)) continue img_paths.append(res[0]) img_name = osp.basename(img_paths[0]) camid = int(img_name[6]) - 1 # index-0 img_paths = tuple(img_paths) tracklets.append((img_paths, pid, camid)) num_pids = len(pid_container) num_tracklets = len(tracklets) print("Saving split to {}".format(json_path)) split_dict = { 'tracklets': tracklets, 'num_tracklets': num_tracklets, 'num_pids': num_pids, 'num_imgs_per_tracklet': num_imgs_per_tracklet, } write_json(split_dict, json_path) return tracklets, num_tracklets, num_pids, num_imgs_per_tracklet
Example #13
Source File: parse_config.py From vae-audio with MIT License | 4 votes |
def __init__(self, args, options='', timestamp=True): # parse default and custom cli options for opt in options: args.add_argument(*opt.flags, default=None, type=opt.type) args = args.parse_args() if args.device: os.environ["CUDA_VISIBLE_DEVICES"] = args.device if args.resume: self.resume = Path(args.resume) self.cfg_fname = self.resume.parent / 'config.json' else: msg_no_cfg = "Configuration file need to be specified. Add '-c config.json', for example." assert args.config is not None, msg_no_cfg self.resume = None self.cfg_fname = Path(args.config) # load config file and apply custom cli options config = read_json(self.cfg_fname) self.__config = _update_config(config, options, args) # set save_dir where trained model and log will be saved. save_dir = Path(self.config['trainer']['save_dir']) timestamp = datetime.now().strftime(r'%m%d_%H%M%S') if timestamp else '' exper_name = self.config['name'] self.__save_dir = save_dir / 'models' / exper_name / timestamp self.__log_dir = save_dir / 'log' / exper_name / timestamp self.save_dir.mkdir(parents=True, exist_ok=True) self.log_dir.mkdir(parents=True, exist_ok=True) # save updated config file to the checkpoint dir write_json(self.config, self.save_dir / 'config.json') # configure logging module setup_logging(self.log_dir) self.log_levels = { 0: logging.WARNING, 1: logging.INFO, 2: logging.DEBUG }
Example #14
Source File: data_manager.py From vidreid_cosegmentation with Apache License 2.0 | 4 votes |
def __init__(self, split_id=0): self._download_data() self._check_before_run() self._prepare_split() splits = read_json(self.split_path) if split_id >= len(splits): raise ValueError("split_id exceeds range, received {}, but expected between 0 and {}".format(split_id, len(splits)-1)) split = splits[split_id] train_dirs, test_dirs = split['train'], split['test'] print("# train identites: {}, # test identites {}".format(len(train_dirs), len(test_dirs))) train, num_train_tracklets, num_train_pids, num_imgs_train = \ self._process_data(train_dirs, cam1=True, cam2=True) query, num_query_tracklets, num_query_pids, num_imgs_query = \ self._process_data(test_dirs, cam1=True, cam2=False) gallery, num_gallery_tracklets, num_gallery_pids, num_imgs_gallery = \ self._process_data(test_dirs, cam1=False, cam2=True) num_imgs_per_tracklet = num_imgs_train + num_imgs_query + num_imgs_gallery min_num = np.min(num_imgs_per_tracklet) max_num = np.max(num_imgs_per_tracklet) avg_num = np.mean(num_imgs_per_tracklet) num_total_pids = num_train_pids + num_query_pids num_total_tracklets = num_train_tracklets + num_query_tracklets + num_gallery_tracklets print("=> iLIDS-VID loaded") print("Dataset statistics:") print(" ------------------------------") print(" subset | # ids | # tracklets") print(" ------------------------------") print(" train | {:5d} | {:8d}".format(num_train_pids, num_train_tracklets)) print(" query | {:5d} | {:8d}".format(num_query_pids, num_query_tracklets)) print(" gallery | {:5d} | {:8d}".format(num_gallery_pids, num_gallery_tracklets)) print(" ------------------------------") print(" total | {:5d} | {:8d}".format(num_total_pids, num_total_tracklets)) print(" number of images per tracklet: {} ~ {}, average {:.1f}".format(min_num, max_num, avg_num)) print(" ------------------------------") self.train = train self.query = query self.gallery = gallery self.num_train_pids = num_train_pids self.num_query_pids = num_query_pids self.num_gallery_pids = num_gallery_pids