|
| 1 | +# [ML.NET](http://dot.net/ml) 1.1.0 |
| 2 | +## **New Features** |
| 3 | +- **Image type support in IDataView** |
| 4 | + [PR#3263](https://github.com/dotnet/machinelearning/pull/3263) added support |
| 5 | + for in-memory image as a type in IDataView. Previously it was not possible to |
| 6 | + use an image directly in IDataView, and the user had to specify the file path |
| 7 | + as a string and load the image using a transform. The feature resolved the |
| 8 | + following issues: |
| 9 | + [3162](https://github.com/dotnet/machinelearning/issues/3162), |
| 10 | + [3723](https://github.com/dotnet/machinelearning/issues/3723), |
| 11 | + [3369](https://github.com/dotnet/machinelearning/issues/3369), |
| 12 | + [3274](https://github.com/dotnet/machinelearning/issues/3274), |
| 13 | + [445](https://github.com/dotnet/machinelearning/issues/445), |
| 14 | + [3460](https://github.com/dotnet/machinelearning/issues/3460), |
| 15 | + [2121](https://github.com/dotnet/machinelearning/issues/2121), |
| 16 | + [2495](https://github.com/dotnet/machinelearning/issues/2495), |
| 17 | + [3784](https://github.com/dotnet/machinelearning/issues/3784). |
| 18 | + |
| 19 | + Image type support in IDataView was a much requested feature by the users. |
| 20 | + |
| 21 | + [Sample to convert gray scale image |
| 22 | + in-Memory](https://github.com/dotnet/machinelearning/blob/02a857a7646188fec2d1cba5e187a6c9d0838e23/docs/samples/Microsoft.ML.Samples/Dynamic/Transforms/ImageAnalytics/ConvertToGrayScaleInMemory.cs) |
| 23 | + | [Sample for custom mapping with in-memory using custom |
| 24 | + type](https://github.com/dotnet/machinelearning/blob/02a857a7646188fec2d1cba5e187a6c9d0838e23/docs/samples/Microsoft.ML.Samples/Dynamic/Transforms/CustomMappingWithInMemoryCustomType.cs) |
| 25 | + |
| 26 | +- **Super-Resolution based Anomaly Detector (preview, please provide feedback)** |
| 27 | + [PR#3693](https://github.com/dotnet/machinelearning/pull/3693) adds a new |
| 28 | + anomaly detection algorithm to the |
| 29 | + [Microsoft.ML.TimeSeries](https://www.nuget.org/packages/Microsoft.ML.TimeSeries/) |
| 30 | + nuget. This algorithm is based on Super-Resolution using Deep Convolutional |
| 31 | + Networks and also got accepted in KDD'2019 conference as an oral |
| 32 | + presentation. One of the advantages of this algorithm is that it does not |
| 33 | + require any prior training and based on benchmarks using grid parameter |
| 34 | + search to find upper bounds it out performs the Independent and identically |
| 35 | + distributed(IID) and Singular Spectrum Analysis(SSA) based anomaly detection |
| 36 | + algorithms in accuracy. This contribution comes from the [Azure Anomaly |
| 37 | + Detector](https://azure.microsoft.com/en-us/services/cognitive-services/anomaly-detector/) |
| 38 | + team. |
| 39 | + |
| 40 | + Algo | Precision | Recall | F1 | #TruePositive | #Positives | #Anomalies | Fine tuned parameters |
| 41 | + -- | -- | -- | -- | -- | -- | -- | -- |
| 42 | + SSA (requires training) | 0.582 | 0.585 | 0.583 | 2290 | 3936 | 3915 | Confidence=99, PValueHistoryLength=32, Season=11, and use half the data of each series to do the training. |
| 43 | + IID | 0.668 | 0.491 | 0.566 | 1924 | 2579 | 3915 | Confidence=99, PValueHistoryLength=56 |
| 44 | + SR | 0.601 | 0.670 | 0.634 | 2625 | 4370 | 3915 | WindowSize=64, BackAddWindowSize=5, LookaheadWindowSize=5, AveragingWindowSize=3, JudgementWindowSize=64, Threshold=0.45 |
| 45 | + |
| 46 | + [Sample for anomaly detection by |
| 47 | + SRCNN](https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/Transforms/TimeSeries/DetectAnomalyBySrCnn.cs) |
| 48 | + | [Sample for anomaly detection by SRCNN using batch |
| 49 | + prediction](https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/Transforms/TimeSeries/DetectAnomalyBySrCnnBatchPrediction.cs) |
| 50 | + |
| 51 | +- **Time Series Forecasting (preview, please provide feedback)** |
| 52 | + [PR#1900](https://github.com/dotnet/machinelearning/pull/1900) introduces a |
| 53 | + framework for time series forecasting models and exposes an API for Singular |
| 54 | + Spectrum Analysis(SSA) based forecasting model in the |
| 55 | + [Microsoft.ML.TimeSeries](https://www.nuget.org/packages/Microsoft.ML.TimeSeries/) |
| 56 | + nuget. This framework allows to forecast w/o confidence intervals, update |
| 57 | + model with new observations and save/load the model to/from persistent |
| 58 | + storage. This closes following issues |
| 59 | + [929](https://github.com/dotnet/machinelearning/issues/929) and |
| 60 | + [3151](https://github.com/dotnet/machinelearning/issues/3151) and was a much |
| 61 | + requested feature by the github community since September 2018. With this |
| 62 | + change |
| 63 | + [Microsoft.ML.TimeSeries](https://www.nuget.org/packages/Microsoft.ML.TimeSeries/) |
| 64 | + nuget is feature complete for RTM. |
| 65 | + |
| 66 | + [Sample for |
| 67 | + forecasting](https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/Transforms/TimeSeries/Forecasting.cs) |
| 68 | + | [Sample for forecasting using confidence |
| 69 | + intervals](https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/Transforms/TimeSeries/ForecastingWithConfidenceInterval.cs) |
| 70 | + |
| 71 | +## **Bug Fixes** |
| 72 | +### Serious |
| 73 | +- **Math Kernel Library fails to load with latest libomp:** Fixed by |
| 74 | + [PR#3721](https://github.com/dotnet/machinelearning/pull/3721) this bug made |
| 75 | + it impossible for anyone to check code into master branch because it was |
| 76 | + causing build failures. |
| 77 | + |
| 78 | +- **Transform Wrapper fails at deserialization:** Fixed by |
| 79 | + [PR#3700](https://github.com/dotnet/machinelearning/pull/3700) this bug |
| 80 | + affected first party(1P) customer. A model trained using |
| 81 | + [NimbusML](https://github.com/microsoft/NimbusML)(Python bindings for |
| 82 | + [ML.NET](http://dot.net/ml)) and then loaded for scoring/inferencing using |
| 83 | + ML.NET will hit this bug. |
| 84 | + |
| 85 | +- **Index out of bounds exception in KeyToVector transformer:** Fixed by |
| 86 | + [PR#3763](https://github.com/dotnet/machinelearning/pull/3763) this bug closes |
| 87 | + following github issues: |
| 88 | + [3757](https://github.com/dotnet/machinelearning/issues/3757),[1751](https://github.com/dotnet/machinelearning/issues/1751),[2678](https://github.com/dotnet/machinelearning/issues/2678). |
| 89 | + It affected first party customer and also github users. |
| 90 | + |
| 91 | +### Other |
| 92 | +- Download images only when not present on disk and print warning messages when |
| 93 | + converting unsupported pixel format by |
| 94 | + [PR#3625](https://github.com/dotnet/machinelearning/pull/3625) |
| 95 | +- [ML.NET](http://dot.net/ml) source code does not build in VS2019 by |
| 96 | + [PR#3742](https://github.com/dotnet/machinelearning/pull/3742) |
| 97 | +- Fix SoftMax precision by utilizing double in the internal calculations by |
| 98 | + [PR#3676](https://github.com/dotnet/machinelearning/pull/3676) |
| 99 | +- Fix to the official build due to API Compat tool change by |
| 100 | + [PR#3667](https://github.com/dotnet/machinelearning/pull/3667) |
| 101 | +- Check for number of input columns in concat transform by |
| 102 | + [PR#3809](https://github.com/dotnet/machinelearning/pull/3809) |
| 103 | + |
| 104 | +## **Breaking Changes** |
| 105 | +None |
| 106 | + |
| 107 | +## **Enhancements** |
| 108 | +- API Compat tool by |
| 109 | + [PR#3623](https://github.com/dotnet/machinelearning/pull/3623) ensures future |
| 110 | + changes to ML.NET will not break the stable API released in 1.0.0. |
| 111 | +- Upgrade the TensorFlow version from 1.12.0 to 1.13.1 by |
| 112 | + [PR#3758](https://github.com/dotnet/machinelearning/pull/3758) |
| 113 | +- API for saving time series model to stream by |
| 114 | + [PR#3805](https://github.com/dotnet/machinelearning/pull/3805) |
| 115 | + |
| 116 | +## **Documentation and Samples** |
| 117 | +- L1-norm and L2-norm regularization documentation by |
| 118 | + [PR#3586](https://github.com/dotnet/machinelearning/pull/3586) |
| 119 | +- Sample for data save and load from text and binary files by |
| 120 | + [PR#3745](https://github.com/dotnet/machinelearning/pull/3745) |
| 121 | +- Sample for LoadFromEnumerable with a SchemaDefinition by |
| 122 | + [PR#3696](https://github.com/dotnet/machinelearning/pull/3696) |
| 123 | +- Sample for LogLossPerClass metric for multiclass trainers by |
| 124 | + [PR#3724](https://github.com/dotnet/machinelearning/pull/3724) |
| 125 | +- Sample for WithOnFitDelegate by |
| 126 | + [PR#3738](https://github.com/dotnet/machinelearning/pull/3738) |
| 127 | +- Sample for loading data using text loader using various techniques by |
| 128 | + [PR#3793](https://github.com/dotnet/machinelearning/pull/3793) |
| 129 | + |
| 130 | +## **Remarks** |
| 131 | +- [Microsoft.ML.TensorFlow](https://www.nuget.org/packages/Microsoft.ML.TensorFlow/), |
| 132 | + [Microsoft.ML.TimeSeries](https://www.nuget.org/packages/Microsoft.ML.TimeSeries/), |
| 133 | + [Microsoft.ML.OnnxConverter](https://www.nuget.org/packages/Microsoft.ML.OnnxConverter/), |
| 134 | + [Microsoft.ML.OnnxTransformer](https://www.nuget.org/packages/Microsoft.ML.OnnxTransformer) |
| 135 | + nugets are expected to be upgraded to release in |
| 136 | + [ML.NET](http://dot.net/ml) 1.2 release. Please give them a try and provide |
| 137 | + feedback. |
0 commit comments