Skip to content

Multi class LR behaves differently on .NetCore 3.0 #3856

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
yaeldekel opened this issue Jun 12, 2019 · 3 comments
Closed

Multi class LR behaves differently on .NetCore 3.0 #3856

yaeldekel opened this issue Jun 12, 2019 · 3 comments
Assignees
Labels
P1 Priority of the issue for triage purpose: Needs to be fixed soon. test related to tests

Comments

@yaeldekel
Copy link

Four tests are failing on the .NetCore 3.0 builds:
EnsemblesMultiAveragerTest
EnsemblesMultiClassBootstrapSelectorTest
EnsemblesMultiVotingCombinerTest
EnsemblesMultiStackCombinerTest

The difference in the baselines is something like this:
L1 regularization selected 13 of 15 weights. vs.
L1 regularization selected 11 of 15 weights.

@mstfbl mstfbl added the need info This issue needs more info before triage label Jan 9, 2020
@harishsk harishsk added the P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away. label Jan 22, 2020
@mstfbl mstfbl removed the need info This issue needs more info before triage label Feb 10, 2020
@antoniovs1029 antoniovs1029 added the test related to tests label Apr 12, 2020
@frank-dong-ms-zz
Copy link
Contributor

Investigating now, caused by different version of CPUMath gives slightly different result

@harishsk harishsk added P1 Priority of the issue for triage purpose: Needs to be fixed soon. and removed P0 Priority of the issue for triage purpose: IMPORTANT, needs to be fixed right away. labels Apr 21, 2020
@frank-dong-ms-zz
Copy link
Contributor

The difference comes from CPUMath using different instruction set:

  1. net framework and net core 2.1 uses CpuMathUtils.netstandard that uses SSE instruction set;
  2. net core 3.1 uses CpuMathUtils.netcoreapp that uses AVX, SSE or direct floating point calculation depending on hardward avaibility.
    AVX and SSE generates slightly different result due to nature of floating point math.
    Use below issue to track: support AVX instruction set at CPUMath native #5044

@frank-dong-ms-zz
Copy link
Contributor

created separate baseline for netcore app 31

@ghost ghost locked as resolved and limited conversation to collaborators Mar 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P1 Priority of the issue for triage purpose: Needs to be fixed soon. test related to tests
Projects
None yet
Development

No branches or pull requests

5 participants