Validation Frequency - CNN Training

43 visualizzazioni (ultimi 30 giorni)
Andrea Daou
Andrea Daou il 18 Gen 2021
Spostato: Arkadiy Turevskiy il 11 Gen 2024
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 !!

Risposta accettata

Ullah Nadeem
Ullah Nadeem il 20 Ott 2022
Spostato: Arkadiy Turevskiy il 11 Gen 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.

Più risposte (0)

Categorie

Scopri di più su Deep Learning Toolbox in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by