Skip to content

Commit 22e385b

Browse files
committed
Merge remote-tracking branch 'upstream/master' into dnn-image-feat
1 parent 1bebc64 commit 22e385b

File tree

694 files changed

+51670
-16071
lines changed

Some content is hidden

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

694 files changed

+51670
-16071
lines changed

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@
113113
<!-- Taken from https://github.com/dotnet/sdk/blob/073c98b92c81066c6c2e17c3674adbb6e833409a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props#L41-L47 -->
114114
<PropertyGroup Condition="'$(Configuration)' == 'Debug-Intrinsics'">
115115
<DebugSymbols>true</DebugSymbols>
116+
<DefineConstants>$(DefineContants);DEBUG</DefineConstants>
116117
<Optimize>false</Optimize>
117118
</PropertyGroup>
118119
<PropertyGroup Condition="'$(Configuration)' == 'Release-Intrinsics'">

Microsoft.ML.sln

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.CpuMath", "src
1717
EndProject
1818
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.PipelineInference", "src\Microsoft.ML.PipelineInference\Microsoft.ML.PipelineInference.csproj", "{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}"
1919
EndProject
20-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.InferenceTesting", "test\Microsoft.ML.InferenceTesting\Microsoft.ML.InferenceTesting.csproj", "{E278EC99-E6EE-49FE-92E6-0A309A478D98}"
21-
EndProject
2220
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Data", "src\Microsoft.ML.Data\Microsoft.ML.Data.csproj", "{AD92D96B-0E96-4F22-8DCE-892E13B1F282}"
2321
EndProject
2422
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.ML.Onnx", "src\Microsoft.ML.Onnx\Microsoft.ML.Onnx.csproj", "{65D0603E-B96C-4DFC-BDD1-705891B88C18}"
@@ -183,14 +181,6 @@ Global
183181
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Release|Any CPU.Build.0 = Release|Any CPU
184182
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU
185183
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU
186-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
187-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug|Any CPU.Build.0 = Debug|Any CPU
188-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU
189-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Debug-Intrinsics|Any CPU.Build.0 = Debug-Intrinsics|Any CPU
190-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release|Any CPU.ActiveCfg = Release|Any CPU
191-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release|Any CPU.Build.0 = Release|Any CPU
192-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release-Intrinsics|Any CPU.ActiveCfg = Release-Intrinsics|Any CPU
193-
{E278EC99-E6EE-49FE-92E6-0A309A478D98}.Release-Intrinsics|Any CPU.Build.0 = Release-Intrinsics|Any CPU
194184
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
195185
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug|Any CPU.Build.0 = Debug|Any CPU
196186
{AD92D96B-0E96-4F22-8DCE-892E13B1F282}.Debug-Intrinsics|Any CPU.ActiveCfg = Debug-Intrinsics|Any CPU
@@ -560,7 +550,6 @@ Global
560550
{EC743D1D-7691-43B7-B9B0-5F2F7018A8F6} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
561551
{46F2F967-C23F-4076-858D-33F7DA9BD2DA} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
562552
{2D7391C9-8254-4B8F-BF26-FADAF8F02F44} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
563-
{E278EC99-E6EE-49FE-92E6-0A309A478D98} = {AED9C836-31E3-4F3F-8ABC-929555D3F3C4}
564553
{AD92D96B-0E96-4F22-8DCE-892E13B1F282} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
565554
{65D0603E-B96C-4DFC-BDD1-705891B88C18} = {09EADF06-BE25-4228-AB53-95AE3E15B530}
566555
{707BB22C-7E5F-497A-8C2F-74578F675705} = {09EADF06-BE25-4228-AB53-95AE3E15B530}

README.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ Along with these ML capabilities, this first release of ML.NET also brings the f
1616

1717
[![NuGet Status](https://img.shields.io/nuget/v/Microsoft.ML.svg?style=flat)](https://www.nuget.org/packages/Microsoft.ML/)
1818

19-
ML.NET runs on Windows, Linux, and macOS - any platform where x64 [.NET Core](https://github.com/dotnet/core) or later is available. In addition, .NET Framework on Windows x64 is also supported.
19+
ML.NET runs on Windows, Linux, and macOS using [.NET Core](https://github.com/dotnet/core), or Windows using .NET Framework. 64 bit is supported on all platforms. 32 bit is supported on Windows, except for TensorFlow, LightGBM, and ONNX related functionality.
2020

21-
The current release is 0.6. Check out the [release notes](docs/release-notes/0.6/release-0.6.md) to see what's new.
21+
The current release is 0.7. Check out the [release notes](docs/release-notes/0.7/release-0.7.md) and [blog post](https://blogs.msdn.microsoft.com/dotnet/2018/11/08/announcing-ml-net-0-7-machine-learning-net/) to see what's new.
2222

23-
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.
23+
First, ensure you have installed [.NET Core 2.1](https://www.microsoft.com/net/learn/get-started) or later. ML.NET also works on the .NET Framework 4.6.1 or later, but 4.7.2 or later is recommended.
2424

2525
Once you have an app, you can install the ML.NET NuGet package from the .NET Core CLI using:
2626
```
@@ -44,9 +44,9 @@ To build ML.NET from source please visit our [developers guide](docs/project-doc
4444

4545
| | x64 Debug | x64 Release |
4646
|:---|----------------:|------------------:|
47-
|**Linux**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|
48-
|**macOS**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|
49-
|**Windows**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|
47+
|**Linux**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master&jobname=Linux&configuration=Build_Debug)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master&jobname=Linux&configuration=Build_Release)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|
48+
|**macOS**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master&jobname=macOS&configuration=Build_Debug)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master&jobname=macOS&configuration=Build_Release)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|
49+
|**Windows**|[![x64-debug](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master&jobname=Windows_x64&configuration=Build_Debug)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|[![x64-release](https://dnceng.visualstudio.com/public/_apis/build/status/dotnet/machinelearning/MachineLearning-CI?branchName=master&jobname=Windows_x64&configuration=Build_Release)](https://dnceng.visualstudio.com/DotNet-Public/_build/latest?definitionId=104&branch=master)|
5050

5151
## Contributing
5252

@@ -65,31 +65,32 @@ Here's an example of code to train a model to predict sentiment from text sample
6565
(You can find a sample of the legacy API [here](test/Microsoft.ML.Tests/Scenarios/SentimentPredictionTests.cs)):
6666

6767
```C#
68-
var env = new LocalEnvironment();
69-
var reader = TextLoader.CreateReader(env, ctx => (
70-
Target: ctx.LoadFloat(2),
71-
FeatureVector: ctx.LoadFloat(3, 6)),
72-
separator: ',',
73-
hasHeader: true);
74-
var data = reader.Read(new MultiFileSource(dataPath));
75-
var classification = new MulticlassClassificationContext(env);
76-
var learningPipeline = reader.MakeNewEstimator()
77-
.Append(r => (
78-
r.Target,
79-
Prediction: classification.Trainers.Sdca(r.Target.ToKey(), r.FeatureVector)));
68+
var mlContext = new MLContext();
69+
var reader = mlContext.Data.TextReader(new TextLoader.Arguments
70+
{
71+
Column = new[] {
72+
new TextLoader.Column("SentimentText", DataKind.Text, 1),
73+
new TextLoader.Column("Label", DataKind.Bool, 0),
74+
},
75+
HasHeader = true,
76+
Separator = ","
77+
});
78+
var data = reader.Read(dataPath);
79+
var learningPipeline = mlContext.Transforms.Text.FeaturizeText("SentimentText", "Features")
80+
.Append(mlContext.BinaryClassification.Trainers.FastTree());
8081
var model = learningPipeline.Fit(data);
8182

8283
```
8384

8485
Now from the model we can make inferences (predictions):
8586

8687
```C#
87-
var predictionFunc = model.MakePredictionFunction<SentimentInput, SentimentPrediction>(env);
88+
var predictionFunc = model.MakePredictionFunction<SentimentData, SentimentPrediction>(mlContext);
8889
var prediction = predictionFunc.Predict(new SentimentData
8990
{
9091
SentimentText = "Today is a great day!"
9192
});
92-
Console.WriteLine("prediction: " + prediction.Sentiment);
93+
Console.WriteLine("prediction: " + prediction.Prediction);
9394
```
9495
A cookbook that shows how to use these APIs for a variety of existing and new scenarios can be found [here](docs/code/MlNetCookBook.md).
9596

ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ In the meanwhile, we are looking for contributions. An easy place to start is t
1818
* _Ranking_ - problem where the goal is to automatically sort (rank) instances within a group based on ranked examples in training data
1919
* _Anomaly Detection_ - is also known as _outlier detection_. It is a task to identify items, events or observations which do not conform to an expected pattern in the dataset.
2020
* _Quantile Regression_ is a type of regression analysis. Whereas regression results in estimates that approximate the conditional mean of the response variable given certain values of the predictor variables, quantile regression aims at estimating either the conditional median or other quantiles of the response variable
21-
* Additional Data source support (*)
21+
* Additional Data Source support (*)
2222
* Apache Parquet
2323
* Native Binary high-performance format
2424

build/Dependencies.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<SystemReflectionEmitLightweightPackageVersion>4.3.0</SystemReflectionEmitLightweightPackageVersion>
1010
<SystemThreadingTasksDataflowPackageVersion>4.8.0</SystemThreadingTasksDataflowPackageVersion>
1111
<SystemComponentModelCompositionVersion>4.5.0</SystemComponentModelCompositionVersion>
12+
<MathNumericPackageVersion>4.6.0</MathNumericPackageVersion>
1213
</PropertyGroup>
1314

1415
<!-- Other/Non-Core Product Dependencies -->
@@ -38,7 +39,7 @@
3839

3940
<!-- Test-only Dependencies -->
4041
<PropertyGroup>
41-
<BenchmarkDotNetVersion>0.11.1</BenchmarkDotNetVersion>
42+
<BenchmarkDotNetVersion>0.11.3</BenchmarkDotNetVersion>
4243
<MicrosoftMLTestModelsPackageVersion>0.0.3-test</MicrosoftMLTestModelsPackageVersion>
4344
</PropertyGroup>
4445

build/ci/phase-template.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ phases:
1111
_phaseName: ${{ parameters.name }}
1212
_arch: ${{ parameters.architecture }}
1313
queue:
14-
timeoutInMinutes: 40
14+
timeoutInMinutes: 45
1515
parallel: 99
1616
matrix:
1717
Build_Debug:

docs/building/unix-instructions.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,12 @@ macOS 10.12 (Sierra) or higher is needed to build dotnet/machinelearning.
4242

4343
On macOS a few components are needed which are not provided by a default developer setup:
4444
* cmake 3.10.3
45-
* gcc
45+
* libomp
46+
* libgdiplus
47+
* gettext
4648
* All the requirements necessary to run .NET Core 2.0 applications. To view macOS prerequisites click [here](https://docs.microsoft.com/en-us/dotnet/core/macos-prerequisites?tabs=netcore2x).
4749

48-
One way of obtaining CMake and gcc is via [Homebrew](https://brew.sh):
50+
One way of obtaining CMake and other required libraries is via [Homebrew](https://brew.sh):
4951
```sh
50-
$ brew install cmake
51-
$ brew install gcc
52+
$ brew install cmake libomp mono-libgdiplus gettext && brew link gettext --force
5253
```

0 commit comments

Comments
 (0)