Skip to content

Commit 41df05a

Browse files
author
Pete Luferenko
committed
Merge remote-tracking branch 'upstream/master' into feature/estimators
2 parents 215856d + d0664c1 commit 41df05a

File tree

84 files changed

+3457
-368
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+3457
-368
lines changed

.vsts-dotnet-ci.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,3 @@ phases:
1111
buildScript: build.cmd
1212
queue:
1313
name: Hosted VS2017
14-
demands:
15-
- agent.os -equals Windows_NT

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ If you are new to GitHub [here](https://help.github.com/categories/collaborating
1616

1717
As a first time contributor, you will be invited to sign the Contributor License Agreement (CLA). Please follow the instructions of the dotnet foundation bot reviewer on your PR to sign the agreement indicating that you have appropriate rights to your contribution.
1818

19-
Your pull request needs to reference a filed issue. Please fill in the template that is populated for the pull request. Only pull requests adressing small typos can have no issues associated with them.
19+
Your pull request needs to reference a filed issue. Please fill in the template that is populated for the pull request. Only pull requests addressing small typos can have no issues associated with them.
2020

2121
An ML.NET team member will be assigned to your pull request once the continuous integration checks have passed successfully.
2222

Directory.Build.props

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,4 +114,11 @@
114114
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>
115115
</PropertyGroup>
116116

117+
<PropertyGroup>
118+
<UseIntrinsics Condition="'$(UseIntrinsics)' == ''">$(Configuration.EndsWith('-Intrinsics'))</UseIntrinsics>
119+
</PropertyGroup>
120+
121+
<PropertyGroup>
122+
<CustomAfterMicrosoftCommonTargets>$(RepoRoot)build\AfterCommonTargets.targets</CustomAfterMicrosoftCommonTargets>
123+
</PropertyGroup>
117124
</Project>

Microsoft.ML.sln

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,15 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.CodeAnalyzer",
9797
EndProject
9898
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.CodeAnalyzer.Tests", "test\Microsoft.ML.CodeAnalyzer.Tests\Microsoft.ML.CodeAnalyzer.Tests.csproj", "{3E4ABF07-7970-4BE6-B45B-A13D3C397545}"
9999
EndProject
100+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.CpuMath.PerformanceTests", "test\Microsoft.ML.CpuMath.PerformanceTests\Microsoft.ML.CpuMath.PerformanceTests.csproj", "{7333EDEF-4144-405C-A5EC-6F42201857D8}"
101+
EndProject
102+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.CpuMath.UnitTests.netstandard", "test\Microsoft.ML.CpuMath.UnitTests.netstandard\Microsoft.ML.CpuMath.UnitTests.netstandard.csproj", "{A0E562A9-0E6D-470D-B180-6EB44BA84D60}"
103+
EndProject
104+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.CpuMath.UnitTests.netcoreapp", "test\Microsoft.ML.CpuMath.UnitTests.netcoreapp\Microsoft.ML.CpuMath.UnitTests.netcoreapp.csproj", "{5F81A2A4-73AD-494C-B387-07D605EC8826}"
105+
EndProject
106+
107+
Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Microsoft.ML.FSharp.Tests", "test\Microsoft.ML.FSharp.Tests\Microsoft.ML.FSharp.Tests.fsproj", "{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}"
108+
EndProject
100109
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.ImageAnalytics", "src\Microsoft.ML.ImageAnalytics\Microsoft.ML.ImageAnalytics.csproj", "{00E38F77-1E61-4CDF-8F97-1417D4E85053}"
101110
EndProject
102111
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.HalLearners", "src\Microsoft.ML.HalLearners\Microsoft.ML.HalLearners.csproj", "{A7222F41-1CF0-47D9-B80C-B4D77B027A61}"
@@ -333,6 +342,38 @@ Global
333342
{3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release|Any CPU.Build.0 = Release|Any CPU
334343
{3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
335344
{3E4ABF07-7970-4BE6-B45B-A13D3C397545}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
345+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
346+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
347+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
348+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
349+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
350+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Release|Any CPU.Build.0 = Release|Any CPU
351+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
352+
{7333EDEF-4144-405C-A5EC-6F42201857D8}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
353+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
354+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Debug|Any CPU.Build.0 = Debug|Any CPU
355+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
356+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
357+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Release|Any CPU.ActiveCfg = Release|Any CPU
358+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Release|Any CPU.Build.0 = Release|Any CPU
359+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
360+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
361+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
362+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Debug|Any CPU.Build.0 = Debug|Any CPU
363+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
364+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
365+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Release|Any CPU.ActiveCfg = Release|Any CPU
366+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Release|Any CPU.Build.0 = Release|Any CPU
367+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
368+
{5F81A2A4-73AD-494C-B387-07D605EC8826}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
369+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
370+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
371+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
372+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Debug-Intrinsics|Any CPU.Build.0 = Debug|Any CPU
373+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
374+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release|Any CPU.Build.0 = Release|Any CPU
375+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-Intrinsics|Any CPU.ActiveCfg = Release|Any CPU
376+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3}.Release-Intrinsics|Any CPU.Build.0 = Release|Any CPU
336377
{00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
337378
{00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug|Any CPU.Build.0 = Debug|Any CPU
338379
{00E38F77-1E61-4CDF-8F97-1417D4E85053}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug|Any CPU
@@ -385,8 +426,12 @@ Global
385426
{001F3B4E-FBE4-4001-AFD2-A6A989CD1C25} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
386427
{DCF46B79-1FDB-4DBA-A263-D3D64E3AAA27} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
387428
{BF66A305-DF10-47E4-8D81-42049B149D2B} = {D3D38B03-B557-484D-8348-8BADEE4DF592}
429+
{7333EDEF-4144-405C-A5EC-6F42201857D8} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
430+
{A0E562A9-0E6D-470D-B180-6EB44BA84D60} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
431+
{5F81A2A4-73AD-494C-B387-07D605EC8826} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
388432
{B4E55B2D-2A92-46E7-B72F-E76D6FD83440} = {7F13E156-3EBA-4021-84A5-CD56BA72F99E}
389433
{3E4ABF07-7970-4BE6-B45B-A13D3C397545} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
434+
{802233D6-8CC0-46AD-9F23-FEE1E9AED9B3} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
390435
{00E38F77-1E61-4CDF-8F97-1417D4E85053} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
391436
{A7222F41-1CF0-47D9-B80C-B4D77B027A61} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
392437
EndGlobalSection

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Along with these ML capabilities this first release of ML.NET also brings the fi
1818

1919
ML.NET runs on Windows, Linux, and macOS - any platform where 64 bit [.NET Core](https://github.com/dotnet/core) or later is available.
2020

21-
The current release is 0.3. Check out the [release notes](docs/release-notes/0.3/release-0.3.md).
21+
The current release is 0.4. Check out the [release notes](docs/release-notes/0.4/release-0.4.md).
2222

2323
First ensure you have installed [.NET Core 2.0](https://www.microsoft.com/net/learn/get-started) or later. ML.NET also works on the .NET Framework. Note that ML.NET currently must run in a 64 bit process.
2424

build.proj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,14 @@
3434
BuildNative;
3535
$(TraversalBuildDependsOn);
3636
DownloadExternalTestFiles;
37-
RunTests;
3837
</TraversalBuildDependsOn>
3938
</PropertyGroup>
4039

4140
<Target Name="RestoreProjects" Condition="'$(RestoreDuringBuild)'=='true'">
4241
<Message Importance="High" Text="Restoring all projects..." />
4342
<MSBuild Projects="@(Project)"
44-
Targets="Restore" />
43+
Targets="Restore"
44+
Properties="MSBuildWarningsAsMessages=NU1503" />
4545
</Target>
4646

4747
<Target Name="BuildNative"
@@ -53,7 +53,7 @@
5353
</Target>
5454

5555
<Target Name="BuildPackages"
56-
DependsOnTargets="CreateOrUpdateCurrentVersionFile">
56+
DependsOnTargets="CreateOrUpdateCurrentVersionFile;RestoreProjects">
5757
<Message Importance="High" Text="Building packages ..." />
5858

5959
<ItemGroup>
@@ -79,7 +79,7 @@
7979
TreatErrorsAsWarnings="true"/>
8080
</Target>
8181

82-
<Target Name="RunTests" Condition="'$(RunTests)'=='true'">
82+
<Target Name="RunTests">
8383
<MSBuild Projects="test\run-tests.proj"
8484
Targets="RunTests" />
8585
</Target>

build/AfterCommonTargets.targets

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Project>
2+
<PropertyGroup>
3+
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
4+
</PropertyGroup>
5+
6+
<!--
7+
We use netcoreapp3.0 for C# intrinsics, but 3.0 isn't supported in CI or in normal development
8+
environments yet. So when we are targeting netcoreapp3.0, but aren't building for intrinsics,
9+
we need to skip the project.
10+
-->
11+
<Import Condition="'$(UseIntrinsics)' != 'true' and '$(TargetFramework)' == 'netcoreapp3.0'"
12+
Project="$(RepoRoot)build\Empty.targets" />
13+
</Project>

build/BranchInfo.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<MajorVersion>0</MajorVersion>
4-
<MinorVersion>4</MinorVersion>
4+
<MinorVersion>5</MinorVersion>
55
<PatchVersion>0</PatchVersion>
66
<PreReleaseLabel>preview</PreReleaseLabel>
77
</PropertyGroup>

build/Empty.targets

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<Project>
2+
<PropertyGroup>
3+
<MSBuildAllProjects>$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
4+
<!--
5+
In the SDK ImportAfter folder, this property is declared to point to Microsoft.TestPlatform.targets, which is the file containing the original VSTest target.
6+
Since the Microsoft.TestPlatform.targets are in the ImportAfter folder, they would be imported after this file hence our empty VSTest target would be overriden,
7+
in order to be able to override this target, we set the VSTestTargets property to an inexistent file path, so nothing will be imported and that way we successfully
8+
overrode the VSTest target.
9+
-->
10+
<VSTestTargets>ignore.targets</VSTestTargets>
11+
</PropertyGroup>
12+
13+
<!--
14+
Copied from https://github.com/dotnet/arcade/blob/master/src/Microsoft.DotNet.Arcade.Sdk/tools/Empty.targets
15+
16+
Import this file to suppress all targets while allowing the project to participate in the build.
17+
Workaround for https://github.com/dotnet/sdk/issues/2071.
18+
19+
The targets defined here are not sufficient for the project to be open in Visual Studio without issues though.
20+
-->
21+
22+
<Target Name="_IsProjectRestoreSupported"/>
23+
<Target Name="_CheckForInvalidConfigurationAndPlatform"/>
24+
<Target Name="Restore"/>
25+
<Target Name="Build"/>
26+
<Target Name="Test"/>
27+
<Target Name="VSTest"/>
28+
<Target Name="Pack"/>
29+
</Project>

build/ci/phase-template.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@ phases:
1313
${{ if ne(parameters.dockerImage, '') }}:
1414
_PREVIEW_VSTS_DOCKER_IMAGE: ${{ parameters.dockerImage }}
1515
queue:
16-
parallel: 2
16+
parallel: 99
1717
matrix:
1818
Build_Debug:
1919
_configuration: Debug
2020
Build_Release:
21-
_configuration: Release
21+
_configuration: Release
2222
${{ insert }}: ${{ parameters.queue }}
2323
steps:
24+
- script: $(_buildScript) -$(_configuration)
25+
displayName: Build
2426
- script: $(_buildScript) -$(_configuration) -runtests
25-
displayName: Build and Test
27+
displayName: Run Tests
2628
- task: PublishTestResults@2
2729
displayName: Publish Test Results
2830
condition: succeededOrFailed()

build/vsts-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ phases:
1010
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
1111
DOTNET_MULTILEVEL_LOOKUP: 0
1212
queue:
13-
name: DotNetCore-Test
13+
name: DotNet-Build
1414
demands:
1515
- agent.os -equals linux
1616
steps:

config.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@
6767
"defaultValue": ""
6868
},
6969
"RunTests": {
70-
"description": "Run tests after building.",
71-
"valueType": "property",
70+
"description": "MsBuild target that run the tests. Call this after building.",
71+
"valueType": "target",
7272
"values": [],
7373
"defaultValue": ""
7474
},
@@ -113,9 +113,9 @@
113113
}
114114
},
115115
"runtests": {
116-
"description": "Runs the tests after building.",
116+
"description": "Runs the tests. Call this after building.",
117117
"settings": {
118-
"RunTests": "true"
118+
"RunTests": "default"
119119
}
120120
},
121121
"verbose": {

docs/building/windows-instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,14 @@ You can use the Developer Command Prompt, Powershell or work in any regular cmd.
4646
From a (non-admin) Command Prompt window:
4747

4848
- `build.cmd` - builds the assemblies
49-
- `build.cmd -runTests` - builds the assemblies and runs tests
49+
- `build.cmd -runTests` - called after a normal "build.cmd" will run all tests
5050
- `build.cmd -buildPackages` called after a normal “build.cmd” will create the NuGet packages with the assemblies in “bin"
5151

5252
**Note**: Before working on individual projects or test projects you **must** run `build.cmd` from the root once before beginning that work. It is also a good idea to run `build.cmd` whenever you pull a large set of unknown changes into your branch.
5353

5454
### Running tests from the command line
5555

56-
From the root, use `build.cmd -runTests`.
56+
From the root, run `build.cmd` and then `build.cmd -runTests`.
5757
For more details, or to test an individual project, you can navigate to the test project directory and then use `dotnet test`
5858

5959
### Running tests from Visual Studio

docs/project-docs/developer-guide.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ build.cmd -Release -TargetArchitecture:x64
3232

3333
- Building the src and then building and running the tests
3434
```
35-
build.cmd -RunTests
35+
build.cmd
36+
build.cmd -runTests
3637
```
3738

3839
### Building individual projects

docs/release-notes/0.4/release-0.4.md

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
# ML.NET 0.4 Release Notes
2+
3+
Today we are releasing ML.NET 0.4. During this release we have started
4+
exploring new APIs for ML.NET that enable functionality that is missing from
5+
the current APIs. We welcome feedback and contributions to the
6+
conversation (relevant issues can be found [here](https://github.com/dotnet/machinelearning/projects/4)). While the
7+
focus has been on designing the new APIs, we have also moved several
8+
components from the internal codebase to ML.NET.
9+
10+
### Installation
11+
12+
ML.NET supports Windows, MacOS, and Linux. See [supported OS versions of .NET
13+
Core
14+
2.0](https://github.com/dotnet/core/blob/master/release-notes/2.0/2.0-supported-os.md)
15+
for more details.
16+
17+
You can install ML.NET NuGet from the CLI using:
18+
```
19+
dotnet add package Microsoft.ML
20+
```
21+
22+
From package manager:
23+
```
24+
Install-Package Microsoft.ML
25+
```
26+
27+
### Release Notes
28+
29+
Below are some of the highlights from this release.
30+
31+
* Added SymSGD learner for binary classification
32+
([#624](https://github.com/dotnet/machinelearning/pull/624))
33+
34+
* [SymSGD](https://arxiv.org/abs/1705.08030) is a technique for
35+
parallelizing
36+
[SGD](https://en.wikipedia.org/wiki/Stochastic_gradient_descent)
37+
(Stochastic Gradient Descent). This enables it to sometimes perform
38+
faster than existing SGD implementations (e.g. [Hogwild
39+
SGD](https://docs.microsoft.com/en-us/dotnet/api/microsoft.ml.trainers.stochasticgradientdescentbinaryclassifier?view=ml-dotnet)).
40+
* SymSGD is available for binary classification, but can be used in
41+
multiclass classification with
42+
[One-Versus-All](https://docs.microsoft.com/en-us/dotnet/api/microsoft.ml.models.oneversusall?view=ml-dotnet)
43+
* SymSGD requires adding the Microsoft.ML.HalLearners NuGet package to your project
44+
* The current implementation in ML.NET does not yet have multi-threading
45+
enabled due to build system limitations (tracked by
46+
[#655](https://github.com/dotnet/machinelearning/issues/655)), but
47+
SymSGD can still be helpful in scenarios where you want to try many
48+
different learners and limit each of them to a single thread.
49+
* Documentation can be found
50+
[here](https://docs.microsoft.com/en-us/dotnet/api/microsoft.ml.trainers.symsgdbinaryclassifier?view=ml-dotnet)
51+
52+
* Added Word Embeddings Transform for text scenarios
53+
([#545](https://github.com/dotnet/machinelearning/pull/545))
54+
55+
* [Word embeddings](https://en.wikipedia.org/wiki/Word_embedding) is a
56+
technique for mapping words or phrases to numeric vectors of relatively low
57+
dimension (in comparison with the high dimensional n-gram extraction).
58+
These numeric vectors are intended to capture some of the meaning of the
59+
words so they can be used for training a better model. As an example,
60+
SSWE (Sentiment-Specific Word Embedding) can be useful for sentiment
61+
related tasks.
62+
* This transform enables using pretrained models to get the embeddings
63+
(i.e. the embeddings are already trained and available for use).
64+
* Several options for pretrained embeddings are available:
65+
[GloVe](https://nlp.stanford.edu/projects/glove/),
66+
[fastText](https://en.wikipedia.org/wiki/FastText), and
67+
[SSWE](http://anthology.aclweb.org/P/P14/P14-1146.pdf). The pretrained model is downloaded automatically on first use.
68+
* Documentation can be found
69+
[here](https://docs.microsoft.com/en-us/dotnet/api/microsoft.ml.transforms.wordembeddings?view=ml-dotnet).
70+
71+
* Improved support for F# by allowing use of property-based row classes ([#616](https://github.com/dotnet/machinelearning/pull/616))
72+
73+
* ML.NET now supports F# record types.
74+
* The ML.NET samples repository is being updated to include F# samples as part of [#36](https://github.com/dotnet/machinelearning-samples/pull/36).
75+
76+
Additional issues closed in this milestone can be found
77+
[here](https://github.com/dotnet/machinelearning/milestone/3?closed=1).
78+
79+
### Acknowledgements
80+
81+
Shoutout to [dsyme](https://github.com/dsyme),
82+
[SolyarA](https://github.com/SolyarA),
83+
[dan-drews](https://github.com/dan-drews),
84+
[bojanmisic](https://github.com/bojanmisic),
85+
[jwood803](https://github.com/jwood803),
86+
[sharwell](https://github.com/sharwell),
87+
[JoshuaLight](https://github.com/JoshuaLight), and the ML.NET team for their
88+
contributions as part of this release!

netci.groovy

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def branch = GithubBranchName
1616

1717
def newJob = job(Utilities.getFullJobName(project, jobName, isPR)) {
1818
steps {
19+
shell("./build.sh -$config")
1920
shell("./build.sh -$config -runtests")
2021
shell("./build.sh -buildPackages")
2122
}

pkg/Microsoft.ML.CpuMath/Microsoft.ML.CpuMath.nupkgproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,8 @@
1111
<PackageReference Include="System.Runtime.Intrinsics.Experimental" Version="4.6.0-preview1-26708-04" />
1212
</ItemGroup>
1313

14+
<ItemGroup>
15+
<Content Include="..\common\CommonPackage.props" Pack="true" PackagePath="build\netstandard2.0\$(MSBuildProjectName).props" />
16+
</ItemGroup>
17+
1418
</Project>

0 commit comments

Comments
 (0)