(Database0 represents unique images that are not in the train set)
When we test our model, we assume that it corresponds to a real-world situation when we can train seen database before making unseen queries. Therefore we can include the train set in the database set. However, in the case of NUS and COCO classes of datasets are not balanced. We have no guarantee that we have 193734//21=9225 images of every class. Empirically, I have found that in nuswide_21 code.py we can set train_num up to ~2100. I do not know why someone decided to put only 500 per class, but I definitely know that Train <= Database.
Thus, we have 3 scenarios:
1) CIFAR is balanced, therefore we can use Train = Dataset
2) NUS: we try to balance, therefore we Train <= Dataset
3) COCO: we do not balance (too hard?), Train <= Dataset
(Database0 represents unique images that are not in the train set)
When we test our model, we assume that it corresponds to a real-world situation when we can train seen database before making unseen queries. Therefore we can include the train set in the database set. However, in the case of NUS and COCO classes of datasets are not balanced. We have no guarantee that we have 193734//21=9225 images of every class. Empirically, I have found that in nuswide_21 code.py we can set train_num up to ~2100. I do not know why someone decided to put only 500 per class, but I definitely know that Train <= Database. Thus, we have 3 scenarios: 1) CIFAR is balanced, therefore we can use Train = Dataset 2) NUS: we try to balance, therefore we Train <= Dataset 3) COCO: we do not balance (too hard?), Train <= Dataset