Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ptelman opened this issue May 25, 2020 · 3 comments · Fixed by #5163
Closed

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

ptelman opened this issue May 25, 2020 · 3 comments · Fixed by #5163
Labels
AutoML.NET Automating various steps of the machine learning process bug Something isn't working P2 Priority of the issue for triage purpose: Needs to be fixed at some point.

Comments

@ptelman
Copy link
Contributor

ptelman commented May 25, 2020

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.

@justinormont
Copy link
Contributor

Related:

@ptelman
Copy link
Contributor Author

ptelman commented May 25, 2020

@justinormont #5163 this fixes the issue.

@mstfbl mstfbl added AutoML.NET Automating various steps of the machine learning process bug Something isn't working P2 Priority of the issue for triage purpose: Needs to be fixed at some point. labels May 26, 2020
@antoniovs1029
Copy link
Member

Out of curiosity, were you able to determine what was the exact string that caused this exception?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
AutoML.NET Automating various steps of the machine learning process bug Something isn't working P2 Priority of the issue for triage purpose: Needs to be fixed at some point.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants