Validation Frequency - CNN Training

43 views (last 30 days)
Hello,
I have a question concerning the validation frequency in options when fine-tuning a pretrained network (image classification problem) :
opts = trainingOptions('sgdm', 'InitialLearnRate', 0.001,...
'MaxEpochs', 10, 'MiniBatchSize', 32,...
'Shuffle','every-epoch','Verbose',true, ...
'ValidationData',augmentedTestSet, ...
'ValidationFrequency',valFrequency, ...
'Plots','training-progress');
mynet = trainNetwork(augmentedTrainingSet, lgraph, opts);
How can I choose the best valFrequency value for my model ?
Thank you !!

Accepted Answer

Ullah Nadeem
Ullah Nadeem on 20 Oct 2022
Moved: Arkadiy Turevskiy on 11 Jan 2024
Hello Andrea!
VF: Validation Frequency
As far as I know, the selection of validation frequency depends on the following:
(1) The amount of training data
If the training data is large and the VF if small number (let's say after 30 iterations), the model will not learn enough while validating more oftenly results in long training time and maybe stop the training early if the 'ValidationPatience' is not set to 'Inf'.
(2) How fast the model learns the data well
If a problem is easy and the model learns it quickly, the VF supposed to be in range of 1/15th times of the iterations/epoch to 1/7th times of the iterations/epoch to let the network stop early and not gets overfit. But if the problem is complicated and model can't learns it quickly, then it is better to select the VF in range of 1/7th times of the iterations/epoch to 1/3th times of the iterations/epoch to let the model learns enough before validating.
Note: Iterations/epoch can be calculated as total number of training samples/mini-batch size.

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!