-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Move towards being able to build for x86 #1008
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -57,7 +57,7 @@ public OnnxTransformTests(ITestOutputHelper output) : base(output) | |
{ | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 fails with "An attempt was made to load a program with an incorrect format." | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I assume Onnx support (i.e. Microsoft.ML.Scoring) is 64-bit only. @shmoradims @jignparm - can you confirm? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If so it might be more self documenting to have something like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Was there a response to this feedback? I think this seems like a good idea. Or perhaps even deriving a few fact attributes like In reply to: 222758463 [](ancestors = 222758463) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure its worth the added overhead to declare a new fact, which itself calls The current conditional fact requires no "new" code and clearly defines that it is only supported on 64-bit processes. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And when we try to add There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Then we will need to re-review any of the currently disabled tests and possibly change this based on whether they support ARM and/or ARM64. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There are multiple advantages to taking the above approach:
The only disadvantage I see is the small amount of effort it is going to take to make this change. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @eerhardt, do you have any problem with logging a tracking issue to improve this? I'd like to get this merged in order to unblock people and I don't think it's going to be as trivial as just defining some new attributes, since we will need to do something different for .NET Core (where we need to instead check the There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. that's fine with me. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
void TestSimpleCase() | ||
{ | ||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) | ||
|
@@ -100,7 +100,7 @@ void TestSimpleCase() | |
catch (InvalidOperationException) { } | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 fails with "An attempt was made to load a program with an incorrect format." | ||
void TestOldSavingAndLoading() | ||
{ | ||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) | ||
|
@@ -158,7 +158,7 @@ void TestOldSavingAndLoading() | |
} | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 fails with "An attempt was made to load a program with an incorrect format." | ||
public void OnnxStatic() | ||
{ | ||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) | ||
|
@@ -205,7 +205,7 @@ public void OnnxStatic() | |
} | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
void TestCommandLine() | ||
{ | ||
if (!RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -192,7 +192,7 @@ public void MulticlassSdcaTest() | |
/// <summary> | ||
/// Multiclass Logistic Regression test with a tree featurizer. | ||
/// </summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Let's add an issue to create baselines for those x86 tests, after checking that the difference is ok. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
[TestCategory("Multiclass")] | ||
[TestCategory("Logistic Regression")] | ||
[TestCategory("FastTree")] | ||
|
@@ -239,7 +239,7 @@ public void KMeansClusteringTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
[TestCategory("SDCA")] | ||
public void LinearClassifierTest() | ||
|
@@ -260,7 +260,7 @@ public void LinearClassifierTest() | |
/// <summary> | ||
///A test for binary classifiers | ||
///</summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
public void BinaryClassifierLogisticRegressionTest() | ||
{ | ||
|
@@ -270,7 +270,7 @@ public void BinaryClassifierLogisticRegressionTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
public void BinaryClassifierSymSgdTest() | ||
{ | ||
|
@@ -282,7 +282,7 @@ public void BinaryClassifierSymSgdTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
public void BinaryClassifierTesterThresholdingTest() | ||
{ | ||
|
@@ -308,7 +308,7 @@ public void BinaryClassifierLogisticRegressionNormTest() | |
/// <summary> | ||
///A test for binary classifiers with non-negative coefficients | ||
///</summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
public void BinaryClassifierLogisticRegressionNonNegativeTest() | ||
{ | ||
|
@@ -334,7 +334,7 @@ public void BinaryClassifierLogisticRegressionBinNormTest() | |
/// <summary> | ||
///A test for binary classifiers | ||
///</summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
public void BinaryClassifierLogisticRegressionGaussianNormTest() | ||
{ | ||
|
@@ -373,7 +373,7 @@ public void BinaryClassifierFastRankClassificationTest() | |
/// <summary> | ||
///A test for binary classifiers | ||
///</summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
[TestCategory("FastForest")] | ||
public void FastForestClassificationTest() | ||
|
@@ -440,7 +440,7 @@ public void WeightingFastForestRegressionPredictorsTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
[TestCategory("FastTree")] | ||
public void FastTreeBinaryClassificationTest() | ||
|
@@ -459,7 +459,7 @@ public void FastTreeBinaryClassificationTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Binary")] | ||
[TestCategory("LightGBM")] | ||
public void LightGBMClassificationTest() | ||
|
@@ -475,7 +475,7 @@ public void LightGBMClassificationTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Binary"), TestCategory("LightGBM")] | ||
public void GossLightGBMTest() | ||
{ | ||
|
@@ -485,7 +485,7 @@ public void GossLightGBMTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Binary")] | ||
[TestCategory("LightGBM")] | ||
public void DartLightGBMTest() | ||
|
@@ -499,7 +499,7 @@ public void DartLightGBMTest() | |
/// <summary> | ||
/// A test for multi class classifiers. | ||
/// </summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Multiclass")] | ||
[TestCategory("LightGBM")] | ||
public void MultiClassifierLightGBMKeyLabelTest() | ||
|
@@ -513,7 +513,7 @@ public void MultiClassifierLightGBMKeyLabelTest() | |
/// <summary> | ||
/// A test for multi class classifiers. | ||
/// </summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Multiclass")] | ||
[TestCategory("LightGBM")] | ||
public void MultiClassifierLightGBMKeyLabelU404Test() | ||
|
@@ -527,7 +527,7 @@ public void MultiClassifierLightGBMKeyLabelU404Test() | |
/// <summary> | ||
/// A test for regression. | ||
/// </summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Regression")] | ||
[TestCategory("LightGBM")] | ||
public void RegressorLightGBMTest() | ||
|
@@ -541,7 +541,7 @@ public void RegressorLightGBMTest() | |
/// <summary> | ||
/// A test for regression. | ||
/// </summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Regression")] | ||
[TestCategory("LightGBM")] | ||
public void RegressorLightGBMMAETest() | ||
|
@@ -555,7 +555,7 @@ public void RegressorLightGBMMAETest() | |
/// <summary> | ||
/// A test for regression. | ||
/// </summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // LightGBM is 64-bit only | ||
[TestCategory("Regression")] | ||
[TestCategory("LightGBM")] | ||
public void RegressorLightGBMRMSETest() | ||
|
@@ -587,7 +587,7 @@ public void RankingLightGBMTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 fails with "Unknown command: 'train'; Format error at (83,3)-(83,4011): Illegal quoting" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This should be investigated and fixed. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could perhaps be a follow up issue if @tannergooding isn't the right person to investigate. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I've not logged issues for anything that requires followup yet. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. |
||
public void TestTreeEnsembleCombiner() | ||
{ | ||
var dataPath = GetDataPath("breast-cancer.txt"); | ||
|
@@ -611,7 +611,7 @@ public void TestTreeEnsembleCombiner() | |
CombineAndTestTreeEnsembles(dataView, fastTrees); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 fails with "Unknown command: 'train'; Format error at (83,3)-(83,4011): Illegal quoting" | ||
public void TestTreeEnsembleCombinerWithCategoricalSplits() | ||
{ | ||
var dataPath = GetDataPath("adult.tiny.with-schema.txt"); | ||
|
@@ -705,7 +705,7 @@ private void CombineAndTestTreeEnsembles(IDataView idv, IPredictorModel[] fastTr | |
} | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
[TestCategory("FastTree")] | ||
public void FastTreeBinaryClassificationCategoricalSplitTest() | ||
|
@@ -744,7 +744,7 @@ public void FastTreeRegressionCategoricalSplitTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
[TestCategory("FastTree")] | ||
public void FastTreeBinaryClassificationNoOpGroupIdTest() | ||
|
@@ -764,7 +764,7 @@ public void FastTreeBinaryClassificationNoOpGroupIdTest() | |
Done(); | ||
} | ||
|
||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Binary")] | ||
[TestCategory("FastTree")] | ||
public void FastTreeHighMinDocsTest() | ||
|
@@ -1363,7 +1363,7 @@ public void PAVCalibratorPerceptronTest() | |
/// <summary> | ||
///A test for random calibrators | ||
///</summary> | ||
[Fact] | ||
[ConditionalFact(typeof(Environment), nameof(Environment.Is64BitProcess))] // x86 output differs from Baseline | ||
[TestCategory("Calibrator")] | ||
public void RandomCalibratorPerceptronTest() | ||
{ | ||
|
Uh oh!
There was an error while loading. Please reload this page.