pt.darts
pt.darts copied to clipboard
Is it proper to use valid_loader in both train and validation?
I found that valid_loader
is used in train(train_loader, valid_loader, ...)
and validate(valid_loader, ...)
.
The gradient of model params (indicated as $\alpha$ in original paper) are calculated with valid_loader
in train
func, so validation with valid_loader
is not fair, I think.
I think you can view the issue of the official DARTS version, the same question was raised. And the author of the original paper replied that DARTS' s main validation criteria is on the ImageNet instead of CIFAR10
in search.py train and valid are splits of train dataset from torchvision. in augment.py train is train from torchvision, valid is valid from torchvision. The later is newer used for architecture search, only for architecture evaluation and thus DARTS is correct.