Open Source ML.NET Machine Learning Framework Gets Update

Microsoft released ML.NET 1.2, adding new features and functionality to its open source machine learning framework.

The promise of ML.NET is to help .NET-centric developers use familiar tools and languages to leverage machine learning capabilities in various types of applications.

"We are excited to announce ML.NET 1.2 and updates to Model Builder and the CLI," said Microsoft's Cesar De la Torre, program manager, .NET, in a July 17 blog post. "ML.NET is an open source and cross-platform machine learning framework for .NET developers. ML.NET also includes Model Builder (a simple UI tool for Visual Studio) and the ML.NET CLI (command-line interface) to make it super easy to build custom Machine Learning (ML) models using Automated Machine Learning (AutoML)."

Use cases for ML.NET, which came out in v1.0 status in May, include:

  • Sentiment analysis
  • Product recommendation
  • Price prediction
  • Customer segmentation
  • Object detection
  • Fraud detection
  • Sales spike detection
  • Image classification
  • Sales forecasting
[Click on image for larger view.] ML.NET APIs (source: Microsoft).

The ability to target those use cases is aided by ML.NET's extensibility, letting developers consume other popular ML frameworks such as TensorFlow, ONNX, Infer.NET and more.

ML.NET 1.2 highlights listed by Microsoft include:

  • General availability of TimeSeries support for forecasting and anomaly detection:
    "Developers can use the Microsoft.ML.TimeSeries package for many scenarios such as: detecting spikes and changes in product sales using an anomaly detection model or creating sales forecasts which could be affected by seasonality and other time related context."
  • General availability of ML.NET packages to use TensorFlow and ONNX models:
    "ML.NET has been designed as an extensible platform so that you can consume other popular ML models such as TensorFlow and ONNX models and have access to even more machine learning and deep learning scenarios, like image classification, object detection, and more."
  • Easily integrate ML.NET models in web or serverless apps with Microsoft.Extensions.ML integration package (preview):
    "This package makes it easier to integrate loading ML.NET model for scoring in ASP.NET apps, Azure Functions and web services. Specifically, the package allows a developer to use Microsoft.Extensions.ML for loading the ML.NET model using Dependency Injection, and optimizing the model’s execution and performance in multi-threaded environments such as ASP.NET Core apps."
  • ML.NET CLI updated to 0.14 (preview):
    "You can use the ML.NET CLI to automatically generate an ML.NET model and underlying C# code. You can run the ML.NET CLI on any command-prompt (Windows, Mac, or Linux)."
  • Model Builder updates:
    • Expanding support to .txt files and more delimiters for values
    • No limits on training data size
    • Smart defaults for training time for large datasets
    • Improved model consumption experience

More information about this backwards-compatible release is available in the release notes.

Microsoft provides getting started guidance and samples apps on GitHub for various scenarios.

The company also invites developers to sign up to talk to an internal engineer for help in getting ML.NET apps into production.

About the Author

David Ramel is an editor and writer for Converge360.