Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions .vsts-dotnet-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -131,7 +131,30 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net60
architecture: arm64
name: Windows_cross_arm64_Net6
buildScript: build.cmd
customMatrixes:
Debug_Build:
_configuration: Debug
_config_short: DI
_includeBenchmarkData: false
_targetFramework: net6.0
Release_Build:
_configuration: Release
_config_short: RI
_includeBenchmarkData: false
_targetFramework: net6.0
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v6.0"
pool:
name: NetCore-Public
demands: ImageOverride -equals 1es-windows-2019-open
helixQueue: windows.11.arm64.open

- template: /build/ci/job-template.yml
parameters:
name: Windows_x64_Net6
buildScript: build.cmd
innerLoop: true
vsTestConfiguration: "/Framework:.NETCoreApp,Version=v3.1"
Expand DownExpand Up@@ -164,7 +187,7 @@ jobs:

- template: /build/ci/job-template.yml
parameters:
name: Windows_x86_Net60
name: Windows_x86_Net6
architecture: x86
buildScript: build.cmd
innerLoop: true
Expand Down
30 changes: 27 additions & 3 deletions build/vsts-ci.yml
Original file line numberDiff line numberDiff line change
Expand Up@@ -63,7 +63,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand All@@ -86,7 +86,7 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Linux package assets
displayName: Publish Linux_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
Expand DownExpand Up@@ -133,14 +133,38 @@ stages:
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish macOS package assets
displayName: Publish macOS_M1 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

################################################################################
- job: Windows_arm64
################################################################################
pool:
name: NetCore1ESPool-Internal
demands: ImageOverride -equals windows.vs2019.amd64
steps:
# Only build native assets to avoid conflicts.
- script: ./build.cmd -projects $(Build.SourcesDirectory)/src/Native/Native.proj -configuration $(BuildConfig) /p:TargetArchitecture=arm64 /p:CopyPackageAssets=true
displayName: Build Native Assets

- task: PublishBuildArtifacts@1
displayName: Publish Windows_arm64 package assets
inputs:
pathToPublish: $(Build.SourcesDirectory)/artifacts/pkgassets
artifactName: pkgassets
artifactType: container

- template: /eng/common/templates/steps/generate-sbom.yml

# Terminate all dotnet build processes.
- script: $(Build.SourcesDirectory)/.dotnet/dotnet.exe build-server shutdown
displayName: Dotnet Server Shutdown

################################################################################
- job: Windows_x86
################################################################################
Expand Down
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -78,7 +78,7 @@
<ApprovalTestsVersion>5.4.7</ApprovalTestsVersion>
<BenchmarkDotNetVersion>0.13.1</BenchmarkDotNetVersion>
<DotNetRuntime60Version>6.0.9</DotNetRuntime60Version>
<DotNetRuntime80Version>8.0.0-preview.3.23174.8</DotNetRuntime80Version>
<DotNetRuntime80Version>8.0.0</DotNetRuntime80Version>
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.23265.1</MicrosoftDotNetXUnitExtensionsVersion>
Expand Down
8 changes: 8 additions & 0 deletions eng/pkg/CommonPackage.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,12 +13,20 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
9 changes: 9 additions & 0 deletions eng/pkg/Pack.props
Original file line numberDiff line numberDiff line change
Expand Up@@ -58,12 +58,21 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-x86\native\*.dll"
Condition="'$(PlatformTarget)' == 'x86'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\native\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

</ItemGroup>

<!-- Work around https://github.com/NuGet/Home/issues/6091 -->
Expand Down
1 change: 1 addition & 0 deletions src/Microsoft.ML.AutoML/Microsoft.ML.AutoML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -86,6 +86,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native" />
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>

Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -19,6 +19,13 @@
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>

<Content Include="$(MSBuildThisFileDirectory)\..\..\runtimes\win-arm64\nativeassets\netstandard2.0\*.dll"
Condition="'$(PlatformTarget)' == 'arm64'">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
<Link>%(Filename)%(Extension)</Link>
</Content>
</ItemGroup>

</Project>
2 changes: 2 additions & 0 deletions src/Microsoft.ML.Mkl.Redist/Microsoft.ML.Mkl.Redist.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -7,6 +7,8 @@
<PackageLicenseExpression></PackageLicenseExpression>
<PackageDescription>$(MSBuildProjectName) contains the MKL library redistributed as a NuGet package.</PackageDescription>
<PackageTags>$(PackageTags) MLNET MKL</PackageTags>
<!-- No native dependencies on arm so causes nuget package failure -->
<IsPackable Condition="'$(TargetArchitecture)' == 'arm64' Or '$(TargetArchitecture)' == 'arm'">false</IsPackable>
<!-- Empty package with no managed dependencies, only native, so no need to warn for empty lib folder/dependencies -->
<NoWarn>$(NoWarn);NU5127;NU5128</NoWarn>
<TargetsForTfmSpecificBuildOutput>$(TargetsForTfmSpecificBuildOutput);CopyProjectReferencesToPackage</TargetsForTfmSpecificBuildOutput>
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -26,6 +26,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\MatrixFactorizationNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
1 change: 1 addition & 0 deletions src/Microsoft.ML/Microsoft.ML.csproj
Original file line numberDiff line numberDiff line change
Expand Up@@ -66,6 +66,7 @@
<!--The path needed to be hardcoded for this to work on our publishing CI-->
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x86\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x86\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-x64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-x64\native"/>
<BuildOutputInPackage Condition="Exists('$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb')" Include="$(PackageAssetsPath)$(PackageIdFolderName)\runtimes\win-arm64\native\LdaNative.pdb" TargetPath="..\..\runtimes\win-arm64\native"/>
</ItemGroup>
</Target>
</Project>
3 changes: 3 additions & 0 deletions src/Native/CMakeLists.txt
Original file line numberDiff line numberDiff line change
Expand Up@@ -268,6 +268,9 @@ else()
if (DEFINED ONEDAL_DEVEL_PATH)
message("Path to OneDal library defined [${ONEDAL_DEVEL_PATH}] but it is not being built on this arch.")
endif()
if (DEFINED MKL_LIB_PATH)
message("Path to Intel MKL library defined [${MKL_LIB_PATH}] but it is not being built on this arch.")
endif()
endif()

add_subdirectory(LdaNative)
Expand Down
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 800 instances with missing features during training (over 100 iterations; 8 inst/iter)
Training calibrator.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 132 | 2 | 0.9851
negative || 8 | 212 | 0.9636
||======================
Precision || 0.9429 | 0.9907 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: 0.136411
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): 0.857460
AUC: 0.994199
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 98 | 7 | 0.9333
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9703 | 0.9693 |
OVERALL 0/1 ACCURACY: 0.969605
LOG LOSS/instance: 0.118826
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.868476
AUC: 0.997577

OVERALL RESULTS
---------------------------------------
AUC: 0.995888 (0.0017)
Accuracy: 0.970678 (0.0011)
Positive precision: 0.956577 (0.0137)
Positive recall: 0.959204 (0.0259)
Negative precision: 0.979976 (0.0107)
Negative recall: 0.975122 (0.0115)
Log-loss: 0.127618 (0.0088)
Log-loss reduction: 0.862968 (0.0055)
F1 Score: 0.957480 (0.0060)
AUPRC: 0.992003 (0.0026)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC /lr /iter Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.995888 0.970678 0.956577 0.959204 0.979976 0.975122 0.127618 0.862968 0.95748 0.992003 0.01 100 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron{lr=0.01 iter=100 lazy+} threads=- dout=%Output% data=%Data% seed=1 /lr:0.01;/iter:100

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 5 components.
Automatically adding a MinMax normalization transform, use 'norm=Warn' or 'norm=No' to turn this behavior off.
Warning: Skipped 80 instances with missing features during training (over 10 iterations; 8 inst/iter)
Training calibrator.
PAV calibrator: piecewise function approximation has 6 components.
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3785 (134.0/(134.0+220.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 133 | 1 | 0.9925
negative || 9 | 211 | 0.9591
||======================
Precision || 0.9366 | 0.9953 |
OVERALL 0/1 ACCURACY: 0.971751
LOG LOSS/instance: Infinity
Test-set entropy (prior Log-Loss/instance): 0.956998
LOG-LOSS REDUCTION (RIG): -Infinity
AUC: 0.994403
Warning: The predictor produced non-finite prediction values on 8 instances during testing. Possible causes: abnormal data or the predictor is numerically unstable.
TEST POSITIVE RATIO: 0.3191 (105.0/(105.0+224.0))
Confusion table
||======================
PREDICTED || positive | negative | Recall
TRUTH ||======================
positive || 100 | 5 | 0.9524
negative || 3 | 221 | 0.9866
||======================
Precision || 0.9709 | 0.9779 |
OVERALL 0/1 ACCURACY: 0.975684
LOG LOSS/instance: 0.227705
Test-set entropy (prior Log-Loss/instance): 0.903454
LOG-LOSS REDUCTION (RIG): 0.747961
AUC: 0.997619

OVERALL RESULTS
---------------------------------------
AUC: 0.996011 (0.0016)
Accuracy: 0.973718 (0.0020)
Positive precision: 0.953747 (0.0171)
Positive recall: 0.972459 (0.0201)
Negative precision: 0.986580 (0.0087)
Negative recall: 0.972849 (0.0138)
Log-loss: Infinity (NaN)
Log-loss reduction: -Infinity (NaN)
F1 Score: 0.962653 (0.0011)
AUPRC: 0.992269 (0.0025)

---------------------------------------
Physical memory usage(MB): %Number%
Virtual memory usage(MB): %Number%
%DateTime% Time elapsed(s): %Number%

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
AveragedPerceptron
AUC Accuracy Positive precision Positive recall Negative precision Negative recall Log-loss Log-loss reduction F1 Score AUPRC Learner Name Train Dataset Test Dataset Results File Run Time Physical Memory Virtual Memory Command Line Settings
0.996011 0.973718 0.953747 0.972459 0.98658 0.972849 Infinity -Infinity 0.962653 0.992269 AveragedPerceptron %Data% %Output% 99 0 0 maml.exe CV tr=AveragedPerceptron threads=- cali=PAV dout=%Output% data=%Data% seed=1

Loading