diff --git a/src/Microsoft.ML.StandardTrainers/Optimizer/Optimizer.cs b/src/Microsoft.ML.StandardTrainers/Optimizer/Optimizer.cs index d073dc0381..ae7376b2ce 100644 --- a/src/Microsoft.ML.StandardTrainers/Optimizer/Optimizer.cs +++ b/src/Microsoft.ML.StandardTrainers/Optimizer/Optimizer.cs @@ -624,6 +624,7 @@ public void Minimize(DifferentiableFunction function, ref VBuffer initial state.UpdateDir(); while (!finished) { + Env.CheckAlive(); bool success = state.LineSearch(ch, false); if (!success) { diff --git a/src/Microsoft.ML.StandardTrainers/Standard/LogisticRegression/LbfgsPredictorBase.cs b/src/Microsoft.ML.StandardTrainers/Standard/LogisticRegression/LbfgsPredictorBase.cs index 4bb402f376..09681f4b46 100644 --- a/src/Microsoft.ML.StandardTrainers/Standard/LogisticRegression/LbfgsPredictorBase.cs +++ b/src/Microsoft.ML.StandardTrainers/Standard/LogisticRegression/LbfgsPredictorBase.cs @@ -475,6 +475,7 @@ private protected virtual void TrainCore(IChannel ch, RoleMappedData data) e => e.SetProgress(0, exCount, totalCount)); while (cursor.MoveNext()) { + Host.CheckAlive(); WeightSum += cursor.Weight; if (ShowTrainingStats) ProcessPriorDistribution(cursor.Label, cursor.Weight);