Skip to content

Commit cb7b724

Browse files
update max_model when trial fails (#6596)
* update max_model when trial fails * add nullable mark to cfo tuner * update exception message
1 parent 4a02a01 commit cb7b724

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

src/Microsoft.ML.AutoML/AutoMLExperiment/AutoMLExperiment.cs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -282,9 +282,16 @@ void handler(object o, EventArgs e)
282282
}
283283
}
284284
}
285-
catch (OperationCanceledException ex) when (aggregateTrainingStopManager.IsStopTrainingRequested() == false)
285+
catch (Exception ex) when (aggregateTrainingStopManager.IsStopTrainingRequested() == false)
286286
{
287-
logger.Trace($"trial cancelled - {JsonSerializer.Serialize(trialSettings)}, continue training");
287+
var exceptionMessage = $@"
288+
Exception thrown during Trial {trialSettings.TrialId} with configuration {JsonSerializer.Serialize(trialSettings)}
289+
290+
Exception Details: ex.Message
291+
292+
Abandoning Trial {trialSettings.TrialId} and continue training.
293+
";
294+
logger.Trace(exceptionMessage);
288295
trialSettings.EndedAtUtc = DateTime.UtcNow;
289296
monitor?.ReportFailTrial(trialSettings, ex);
290297
var trialResult = new TrialResult
@@ -296,22 +303,8 @@ void handler(object o, EventArgs e)
296303
tuner.Update(trialResult);
297304
trialResultManager?.AddOrUpdateTrialResult(trialResult);
298305
aggregateTrainingStopManager.Update(trialResult);
299-
continue;
300-
}
301-
catch (OperationCanceledException) when (aggregateTrainingStopManager.IsStopTrainingRequested())
302-
{
303-
logger.Trace($"trial cancelled - {JsonSerializer.Serialize(trialSettings)}, stop training");
304-
305-
break;
306-
}
307-
catch (Exception ex)
308-
{
309-
logger.Trace($"trial failed - {JsonSerializer.Serialize(trialSettings)}, stop training");
310306

311-
trialSettings.EndedAtUtc = DateTime.UtcNow;
312-
monitor?.ReportFailTrial(trialSettings, ex);
313-
314-
if (!aggregateTrainingStopManager.IsStopTrainingRequested() && _bestTrialResult == null)
307+
if (ex is not OperationCanceledException && _bestTrialResult == null)
315308
{
316309
logger.Trace($"trial fatal error - {JsonSerializer.Serialize(trialSettings)}, stop training");
317310

@@ -321,6 +314,13 @@ void handler(object o, EventArgs e)
321314
// when error is fatal (like schema mismatch).
322315
throw;
323316
}
317+
continue;
318+
}
319+
catch (Exception) when (aggregateTrainingStopManager.IsStopTrainingRequested())
320+
{
321+
logger.Trace($"trial cancelled - {JsonSerializer.Serialize(trialSettings)}, stop training");
322+
323+
break;
324324
}
325325
finally
326326
{

src/Microsoft.ML.AutoML/Tuner/CostFrugalTuner.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ internal class CostFrugalTuner : ITuner
2424
private double _bestLoss;
2525

2626
public CostFrugalTuner(AutoMLExperiment.AutoMLExperimentSettings settings, ITrialResultManager trialResultManager = null)
27-
: this(settings.SearchSpace, settings.SearchSpace.SampleFromFeatureSpace(settings.SearchSpace.Default), trialResultManager.GetAllTrialResults(), settings.Seed)
27+
: this(settings.SearchSpace, settings.SearchSpace.SampleFromFeatureSpace(settings.SearchSpace.Default), trialResultManager?.GetAllTrialResults(), settings.Seed)
2828
{
2929
}
3030

0 commit comments

Comments
 (0)