现在我明白了。 lib / datasets / factory.py有
def get_imdb(name): """Get an imdb (image database) by name.""" if not __sets.has_key(name): raise KeyError('Unknown dataset: {}'.format(name)) return __sets[name]()
__sets [name]来电
for year in ['2007', '2012']: for split in ['train', 'val', 'trainval', 'test']: name = 'voc_{}_{}'.format(year, split) __sets[name] = (lambda split=split, year=year: pascal_voc(split, year))
自从我们设定 --imdb voc_2007_trainval 在训练命令中,它所做的是程序可以加载trainval文件中所述的图像 data/VOCdevkit2007/VOC2007/ImageSets/Main/trainval.txt 文件。
--imdb voc_2007_trainval
data/VOCdevkit2007/VOC2007/ImageSets/Main/trainval.txt
如果我们设定 --imdb voc_2007_train 然后 train.txt 将会被使用。所有图像都在JPEGImages文件夹中,注释位于Annotations文件夹中。
--imdb voc_2007_train
train.txt