Skip to content

Auto.ML Regression Experiment throwing Exception when culture is pl-PL #5162

@ptelman

Description

@ptelman

System information

  • OS version/distro: Windows 10
  • .NET Version (eg., dotnet --info): 3.1.300-preview-015135
  • Auto.ML Version: v0.17.0-preview2

Issue

  • What did you do?
    AutoML experiment using Boston houses dataset, RegressionExperiment and pl-PL culture
  • What happened?
    Exception was thrown after ~3 minutes of experiment - float.Parse could not parse string.
  • What did you expect?
    Exception should not be thrown.

Source code / logs

Call stack:

Unhandled exception. System.OverflowException: Value was either too large or too small for a Decimal.
at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)
at System.Single.Parse(String s)
at Microsoft.ML.AutoML.SweeperProbabilityUtils.ParameterSetAsFloatArray(IValueGenerator[] sweepParams, ParameterSet ps, Boolean expandCategoricals)
at Microsoft.ML.AutoML.SmacSweeper.FitModel(IEnumerable1 previousRuns) at Microsoft.ML.AutoML.SmacSweeper.ProposeSweeps(Int32 maxSweeps, IEnumerable1 previousRuns)
at Microsoft.ML.AutoML.PipelineSuggester.SampleHyperparameters(MLContext context, SuggestedTrainer trainer, IEnumerable1 history, Boolean isMaximizingMetric) at Microsoft.ML.AutoML.PipelineSuggester.GetNextInferredPipeline(MLContext context, IEnumerable1 history, DatasetColumnInfo[] columns, TaskKind task, Boolean isMaximizingMetric, CacheBeforeTrainer cacheBeforeTrainer, IEnu
merable1 trainerWhitelist) at Microsoft.ML.AutoML.Experiment2.Execute()
at Microsoft.ML.AutoML.ExperimentBase2.ExecuteCrossVal(IDataView[] trainDatasets, ColumnInformation columnInfo, IDataView[] validationDatasets, IEstimator1 preFeaturizer, IProgress1 progressHandler) at Microsoft.ML.AutoML.ExperimentBase2.Execute(IDataView trainData, UInt32 numberOfCVFolds, ColumnInformation columnInformation, IEstimator1 preFeaturizer, IProgress1 progressHandler)
at Playground.Program.AutoMl() in C:\GIT\ML\dotnet\AI\Playground\Program.cs:line 37
at Playground.Program.Main(String[] args) in C:\GIT\ML\dotnet\AI\Playground\Program.cs:line 19

Manual setting culture using Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); solves issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    AutoML.NETAutomating various steps of the machine learning processP2Priority of the issue for triage purpose: Needs to be fixed at some point.bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions