我正在使用 Matlab 的神经网络工具箱构建卷积神经网络。我的代码旨在用不同的数据集交叉训练网络,使用以前的网络层来训练新网络(这提供了与在网络上保存和恢复训练相同的功能)。
然而,在几次训练课(通常是第 3 课)之后,Matlab 开始增加每个 epoch 的迭代次数。我已将每个 epoch 的迭代次数设置为 1,最多 10 个 epoch。但是,Matlab 会将其增加到每个 epoch 2 次迭代,然后是 3 次,依此类推,直到完成整个训练过程。
设置网络选项时是否缺少某些内容?或者,有没有办法对每个时期的迭代进行硬设置以阻止 Matlab 增加值?
用于设置网络选项的代码(每次训练都相同,但验证集中的数据会发生变化):
options = trainingOptions('sgdm', ...
'InitialLearnRate', 0.03, ...
'MaxEpochs',10, ...
'ValidationData',set9, ...
'ValidationFrequency',5, ...
'Verbose',false, ...
'ValidationPatience',Inf,...
'Plots','training-progress');
还包括训练阶段 1 和 3 中的网络可视化图像,以展示差异:

