UPSNet
UPSNet copied to clipboard
Does the current network support the annotations with is_crowd=1 (custom dataset with coco-format) ?
The annotations in my custom dataset (coco format) are all is_crowd=1. When I started training, it reported a ValueError on line 136 of upsnet_end2end_train.py:
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=config.train.batch_size, shuffle=config.train.shuffle, num_workers=num_gpus * 4 if not config.debug_mode else num_gpus * 4, drop_last=False, collate_fn=train_dataset.collate)
message of the ValueError is the following:
num_samples should be a positive integer value, but got num_samples=0
It seems that the train_dataset is empty, but the settings is correct. But after I changed all is_crowd to 1, this problem disappeard. So I want to ask if the code doesn't support the annotations with is_crowd=1?
Thanks !
In my custom dataset, all is_crowd = 0 and I am still having the same problem
ValueError: num_samples should be a positive integer value, but got num_samples=0
In my custom dataset, all is_crowd = 0 and I am still having the same problem
ValueError: num_samples should be a positive integer value, but got num_samples=0
I rebuild my custom dataset with is_crowd = 0 which means that all annotations are transforming to polygon format and finally the code works fine. Maybe your json file of your custom datset really exists some problems. Maybe you can check it again.
basically in my code the function 'filter for training' is filtering out all the roidb entries and nothing left for training. I am trying to find out why
I used pycocotools to generate my coco format data, but i guess there is a problem with labels because i get an IoU of 0 which means the masks are totally off the object
I ran into the same issue using pycocotools. From what I can tell, the way that pycocotools does things, if you iscrowd = 1, you get the RLE format. If you use iscrowd = 0, though, it seems that it struggles to make very complex polygons, so there are some overlapping regions. The big issue here is that it ignores the crowd classes during training, so you get nothing if all of your classes are "crowds". Does anyone have a reasonable solution to this? Is there a specific reason why we exclude the crowd categories during training?