JunlinHan / YOCO

Code for You Only Cut Once: Boosting Data Augmentation with a Single Cut, ICML 2022.
103 stars 10 forks source link

Did you split the training dataset into train and val? #1

Closed Fivethousand5k closed 2 years ago

Fivethousand5k commented 2 years ago

Hi, thanks for your inspiring work! I got a question here. Have you split the training dataset into train and val? From the code you shared, it seems that you directly used the test dataset for validation by which the model with the best performance is picked: val_loader = torch.utils.data.DataLoader( datasets.CIFAR10('../data', train=False, transform=transform_test), batch_size=args.batch_size, shuffle=True, num_workers=args.workers, pin_memory=True) I am not sure if it is ok and I am really confused, because I notice some researchers make the split while some others do not.

JunlinHan commented 2 years ago

Hello, thanks for your attention in our work! Following the commonly practive in classification, we did not use validation set.

For CIFAR, we use train/test split only. And we report the best result, simply due to best result is usually more stable than last result.

For ImageNet, we use the original val set as our test set (due to ImageNet do not open test set). Both last and best results are reported.

Fivethousand5k commented 2 years ago

Thanks for your reply, and I would follow your configurations.

JunlinHan commented 2 years ago

Thanks for your reply, and I would follow your configurations.

Glad it helps! You might also note that the CIFAR experiment is for horizontal flip only (I might add others later), if you want to test other augmentations, you might need to change 1-2 lines of code manurally.

Fivethousand5k commented 2 years ago

ok, thanks