I am trying to set up transfer learning using instructions from this repository page on EfficientNet. I am able to perform a stand-alone training and testing using the instructions on that page. The next step is to use cross-validate model from the resource functions page to evaluate the range of performance on my dataset.
The documentation for CVModel provides an example using NetTrain; however, it uses TimeGoal as stopping criterion during cross-valiation.
The relevant code setup based on instructions from that page:
cvEfficientNets = ResourceFunction["CrossValidateModel",Flatten[trainData],
Function[NetTrain[net, #, All, TimeGoal -> 10,
TargetDevice -> {"GPU", All}]]
I wonder if that's appropriate if I am trying to compare performance of two different NNs for the same dataset, eg., ResNet vs. EfficientNet. What would be reasonable alternatives to stopping the training during cross-validation stage?
I tried TrainingStoppingCriterion->"Loss";however, WL complains that no validation set has been specified and defaults to using the training set for validation. I think that's probably not correct. If I specify ValidationSet->Scaled[0.1] as is usually done, I am uncertain if that's necessary. K-Fold validation should already have a partition selected for validation.
So, any advice is highly appreciated.