def get_next_obj_detect_img(project, currentId=None, dset=cfg.UNLABELED, include_preds=True): fold = data.load_fold(project) ids = list(fold[dset].keys()) random.shuffle(ids) img = data.load_obj_detect_img(ids[0], project, include_preds) return make_obj_detect_image(ids[0], project, img)
def get_random_batch(proj_name, dset, shuffle=False, limit=20): fold = data.load_fold(proj_name) ids = list(fold[dset].keys()) if shuffle: random.shuffle(ids) image_data = [] for id_ in ids[:limit]: image_data.append(make_image(id_, fold, dset)) return image_data
def add_image(src, tags, modelTags, id_=None, dset=None): fold = data.load_fold(cfg.FOLD_FPATH) image_data = get_image_data(fold, dset, shuffle=False, limit=20) image = Image(id=id_, project=fold.name, src=src, tags=tags, modelTags=modelTags) image_data[image.id] = image return image
def save_obj_detect_image(id_, project, annos, dset=None): dset = get_random_dset() if dset is None else dset entry = data.make_obj_detect_entry(annos) fold = data.load_fold(project) if id_ in fold[cfg.UNLABELED]: data.move_unlabeled_to_labeled(fold, dset, id_, entry) else: for dset in [cfg.VAL, cfg.TRAIN]: if id_ in fold[dset]: fold[dset][id_] = entry break
def get_ranked_batch(proj_name, dset, limit=cfg.BATCH_SIZE): fold = data.load_fold(proj_name) preds_df = pd.read_csv(data.get_fpath(proj_name, cfg.RANKINGS_FNAME), index_col=0) i = 0 image_data = [] for id_, row in preds_df.iterrows(): if i > limit: return image_data if id_ in fold[dset]: image_data.append(make_image(id_, fold, dset)) i += 1 return image_data
def update_tags(id_, project, tags): print('updating tags', id_, project, tags) if len(tags) > 0: fold = data.load_fold(project) print(fold.keys()) save_image_data(fold, id_, tags)
def get_image_single(id_, dset=cfg.UNLABELED): print('get image single') fold = data.load_fold(cfg.FOLD_FPATH) return make_image(id_, fold, dset)
def get_image(project, id_, dset=cfg.UNLABELED): fold = data.load_fold(project) return make_image(id_, fold, dset)
def update_tags(id_, project, tags): if len(tags) > 0: fold = data.load_fold(project) save_image_data(fold, id_, tags)
def get_image_single(project, id_, dset=cfg.UNLABELED): fpath = data.get_fpath(project, cfg.FOLD_FNAME) fold = data.load_fold(fpath) return make_image(id_, fold, dset)