er-muyue / DeFRCN

MIT License
181 stars 43 forks source link

Where is pascal VOC metasplit located? #64

Closed suryasid09 closed 1 year ago

suryasid09 commented 1 year ago

Hello,

I was going through /defrcn/data/builtin.py file:-

def register_all_voc(root="datasets"):

METASPLITS = [
    ("voc_2007_trainval_base1", "VOC2007", "trainval", "base1", 1),
    ("voc_2007_trainval_base2", "VOC2007", "trainval", "base2", 2),
    ("voc_2007_trainval_base3", "VOC2007", "trainval", "base3", 3),
    ("voc_2012_trainval_base1", "VOC2012", "trainval", "base1", 1),
    ("voc_2012_trainval_base2", "VOC2012", "trainval", "base2", 2),
    ("voc_2012_trainval_base3", "VOC2012", "trainval", "base3", 3),
    ("voc_2007_trainval_all1", "VOC2007", "trainval", "base_novel_1", 1),
    ("voc_2007_trainval_all2", "VOC2007", "trainval", "base_novel_2", 2),
    ("voc_2007_trainval_all3", "VOC2007", "trainval", "base_novel_3", 3),
    ("voc_2012_trainval_all1", "VOC2012", "trainval", "base_novel_1", 1),
    ("voc_2012_trainval_all2", "VOC2012", "trainval", "base_novel_2", 2),
    ("voc_2012_trainval_all3", "VOC2012", "trainval", "base_novel_3", 3),
    ("voc_2007_test_base1", "VOC2007", "test", "base1", 1),
    ("voc_2007_test_base2", "VOC2007", "test", "base2", 2),
    ("voc_2007_test_base3", "VOC2007", "test", "base3", 3),
    ("voc_2007_test_novel1", "VOC2007", "test", "novel1", 1),
    ("voc_2007_test_novel2", "VOC2007", "test", "novel2", 2),
    ("voc_2007_test_novel3", "VOC2007", "test", "novel3", 3),
    ("voc_2007_test_all1", "VOC2007", "test", "base_novel_1", 1),
    ("voc_2007_test_all2", "VOC2007", "test", "base_novel_2", 2),
    ("voc_2007_test_all3", "VOC2007", "test", "base_novel_3", 3),
]
for prefix in ["all", "novel"]:
    for sid in range(1, 4):
        for shot in [1, 2, 3, 5, 10]:
            for year in [2007, 2012]:
                for seed in range(30):
                    seed = "_seed{}".format(seed)
                    name = "voc_{}_trainval_{}{}_{}shot{}".format(
                        year, prefix, sid, shot, seed
                    )
                    dirname = "VOC{}".format(year)
                    img_file = "{}_{}shot_split_{}_trainval".format(
                        prefix, shot, sid
                    )
                    keepclasses = (
                        "base_novel_{}".format(sid)
                        if prefix == "all"
                        else "novel{}".format(sid)
                    )
                    METASPLITS.append(
                        (name, dirname, img_file, keepclasses, sid)
                    )

for name, dirname, split, keepclasses, sid in METASPLITS:
    year = 2007 if "2007" in name else 2012
    register_meta_voc(
        name,
        _get_builtin_metadata("voc_fewshot"),
        os.path.join(root, dirname),
        split,
        year,
        keepclasses,
        sid,
    )
    MetadataCatalog.get(name).evaluator_type = "pascal_voc"

What is don't understand is where is this located. I understand it should be dataset but, the given link in the main branch doesn't have any such directories. Also, How is it using seed? Do we need to create seed explicitly for train,trainval,test.

It would really appreciate if you guys could help.