diff --git a/NonLinearSolver/modelReduction/DeepMaterialNetworks.cpp b/NonLinearSolver/modelReduction/DeepMaterialNetworks.cpp index f49a291bcd72bc184537c06d2009af660d85dd82..1fdead313a14010fe2a4d9e2a3b793db31181912 100644 --- a/NonLinearSolver/modelReduction/DeepMaterialNetworks.cpp +++ b/NonLinearSolver/modelReduction/DeepMaterialNetworks.cpp @@ -1739,6 +1739,7 @@ void TrainingDeepMaterialNetwork::train(double lr, int maxEpoch, std::string los int Ntrain = _XTrain.size(); double lrCur = lr; int numEpochIncrease = 0; + int numEpochLrMin = 0; int numEpochDecrease = 0; while (true) { @@ -1818,6 +1819,12 @@ void TrainingDeepMaterialNetwork::train(double lr, int maxEpoch, std::string los if (lrCur < lrmin) { lrCur = lrmin; + numEpochLrMin ++; + if (numEpochLrMin>10) + { + Msg::Info("maximal number of iterations %d at minimal learning step is reached !!",numEpochLrMin); + break; + } } numEpochDecrease = 0; Wcur = Wprev;