BASE_DIR = 'VOC2012'
NUM_CLASS = 21
def __init__(self, root=os.path.expanduser('~/.mxnet/datasets/voc'),
split='train', mode=None, transform=None):
super(VOCSegmentation, self).__init__(root, split, mode, transform)
_voc_root = os.path.join(root, self.BASE_DIR)
_mask_dir = os.path.join(_voc_root, 'SegmentationClass')
_image_dir = os.path.join(_voc_root, 'JPEGImages')
# train/val/test splits are pre-cut
_splits_dir = os.path.join(_voc_root, 'ImageSets/Segmentation')
if split == 'train':
_split_f = os.path.join(_splits_dir, 'trainval.txt')
elif split == 'val':
_split_f = os.path.join(_splits_dir, 'val.txt')
elif split == 'test':
_split_f = os.path.join(_splits_dir, 'test.txt')
else:
raise RuntimeError('Unknown dataset split.')
this codes are from gluoncv.data.pascal_voc.segmentation.py. here using “trainval” for train and “val” for val is correct? i think “val” is just subset of 'trainval"