AnjanDutta / sem-pcyc

PyTorch implementation of the paper "Semantically Tied Paired Cycle Consistency for Zero-Shot Sketch-based Image Retrieval", CVPR 2019.
MIT License
110 stars 24 forks source link

Combining val into test split #19

Closed mvp18 closed 4 years ago

mvp18 commented 4 years ago

Hi, had a different doubt. So raising a new issue.

# Combine the valid and test set into test set
splits['te_fls_sk'] = np.concatenate((splits['va_fls_sk'], splits['te_fls_sk']), axis=0)
splits['te_clss_sk'] = np.concatenate((splits['va_clss_sk'], splits['te_clss_sk']), axis=0)
splits['te_fls_im'] = np.concatenate((splits['va_fls_im'], splits['te_fls_im']), axis=0)
splits['te_clss_im'] = np.concatenate((splits['va_clss_im'], splits['te_clss_im']), axis=0)

In the 4 lines (108-111) above in train.py, you are combining the validation sketch and image files with the files of the test set. I am failing to understand the reason behind doing this. I am relatively new to ZS-SBIR, so not really sure if this is the usual practice with Sketchy and TU-Berlin.

AnjanDutta commented 4 years ago

This is the way I coded the splits. Sketchy and TU-Berlin don't have any validation set, so sometime I thought to have a validation set for setting hyperparameters but what is done at the end is to have two sets: train and test sets with disjoint classes. So with the validation set, I haven't really done any validation. It is basically the way I implemented it to have more flexibility. I hope it clears your doubts.

mvp18 commented 4 years ago

Yes, I understand now. Thanks a lot for replying so promptly.