Why finetune on validation set?
Haoxiang-Wang opened this issue · 2 comments
In README (https://github.com/locuslab/FLYP/blob/d42180645e31c16c50a7b111410c98616c2c2872/README.md), the example commands for iWildCam, FMoW and SST2 all use validation ID sets as the training set, e.g.,
python src/main.py --train-dataset=IWildCamIDVal ...
I'm confused. Why not fine-tune on the original training split instead? @SachinG007
Hi @Haoxiang-Wang ,
We do not use the IDVal for training. See the base dataloader class here
Line 55 in d421806
The arg name might be a bit deceptive, since that specifies what would the test_loader key have in the dataloader object.
Line 80 in d421806
We use ID Val only for early stopping and selecting best hparam.
Let me know if it is still not clear.
OK, now I understand. But it seems the argument --train_dataset=IWildCamIDVal
has no effect at all (compared with --train_dataset=IWildCam
), since the evaluation is performed on args.eval_datasets
rather than args.train_dataset
.