Announcing ML.NET 1.1 and Model Builder updates (Machine Learning for .NET)
ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers.
Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Recommendation, Image Classification and more!.
Following are the key highlights:
Added support for in-memory ‘image type’ in IDataview: In previous versions of ML.NET whenever you used images in a model (such as when scoring a TensorFlow or ONNX model using images) you needed to load the images from files placed on a drive by specifying file paths. In ML.NET 1.1 you can now load in-memory images and process them directly.
For further learning read this ‘end-to-end scenario’ blog post describing a sample ASP.NET Core web app where the images are used in-memory. Images used in the sample app are directly received through Http requests, then processed by a TensorFlow model with ML.NET API code.
Additional samples using in-memory images:
New Anomaly Detection algorithm (in preview): Added a new Anomaly Detection algorithm named
SrCnnAnomalyDetectionto the Time Series NuGet package. This algorithm based on a Super-Resolution Deep Convolutional Network. One of the advantages of this algorithm is that it does not require any prior training. This contribution comes from the Azure Anomaly Detector team.
For further learning see this sample code for anomaly detection
New Time Series Forecasting components (in preview): This new feature added to the Time Series NuGet package allows you to implement a time series forecasting model based on
Singular Spectrum Analysis(SSA). It is named in ML.NET as
AdaptiveSingularSpectrumSequenceModeler. This type of time series forecasting prediction is very useful when your data has some kind of periodic component where events have a causal relationship and they happen (or miss to happen) in some point of time. For example, sales forecasts impacted by different seassons (Holiday-season, sales timeframe, weekends, etc.) or any other type of data where the time component is important.
For further learning see this sample code for forecasting
Additional enhancements and remarks:
- Upgrade internal TensorFlow version from 1.12.0 to 1.13.1
- Microsoft.ML.TensorFlow NuGet package has been upgraded from 0.12 to 0.13 (preview).
Bug fixing: For further learning on bug fixes released on v1.1 go to the ML.NET v1.1 Release Notes
Model Builder updates
This release of Model Builder adds support for a new scenario and address many customer reported issues.
New Issue Classification Template: This scenario enables a user to add support for classifying tabular data into many classes. This template uses multi-class classification which can be used for classifying data into 3+ categories. E.g You can use this template for predicting GitHub issues, customer support ticket routing, classifying emails into different categories and many more scenarios.
Improve Evaluate step: Evaluate step now shows more correct information about the top models explored. This was the most commonly requested fix reported by customers.
Improve code generation step: Improve instructions for easily consuming generated code by referring to the project names.
Address customer feedback: This release also address many customer reported issues around installation errors, usability feedback and stability improvements and more.
Planning to go to production?
- Get help implementing ML.NET successfully in your application.
- Provide feedback about ML.NET.
- Demo your app and potentially have it featured on the ML.NET homepage, .NET Blog, or other Microsoft channel.
Get started with ML.NET and Model Builder for Visual Studio
Get started with ML.NET here.
Get started with Model Builder here.
Next, going further explore some other resources:
- Tutorials and resources at the Microsoft Docs ML.NET Guide
- Sample apps using ML.NET at the machinelearning-samples GitHub repo
- Model Builder feedback
Thanks and happy coding with ML.NET!
The ML.NET Team.
This blog was authored by Cesar de la Torre, Pranav Rastogi plus additional contributions of the ML.NET team