ML.Net aims to provide machine learning for .Net developers

Microsoft's new machine learning framework promises high-level APIs to make model training and predictions easy, along with strong integration of .Net language features

ML.Net aims to provide machine learning for .Net developers

A new machine learning framework from Microsoft is aimed at .Net developers who want to run common machine learning tasks using a cross-platform, open source system. The beta Version 0.4 is now available.

The features in ML.Net

ML.Net was first announced in May 2018. It provides ways for .Net developers to create models for specific tasks and to make them available to .Net applications via high-level APIs for model training and prediction serving.

The first release of ML.Net included only two basic machine learning tasks, classification and regression. Classification is used for categorizing data—such as spam versus legitimate email, or sentiment analysis. Regression is used to perform predictions on numerical data, such as pricing trends. Sample applications included with the GitHub repo for the project provide examples (and data to train on).

The newest release of ML.Net, Version 0.4, adds support for other tasks such as natural language processing. Over time, Microsoft intends for ML.Net to support a wide range of tasks. Some will be baked directly into the framework; for others, ML.Net’s high-level APIs will be used to drive existing frameworks such as Google’s TensorFlow or Microsoft’s own CNTK (aka Cognitive Toolkit).

Another long-term plan, ostensibly ahead of the Version 1.0 release, is to deprecate the current “pipeline” API, as Microsoft calls it, and replace it with another API intended to be easier to use.

Microsoft’s push for ML.Net revolves around more than just ease of use. ML.Net is intended to be cross-platform by design, and currently supports the Windows (server and desktop), Linux, and MacOS incarnations of .Net Core 2. In the same way, ML.Net is meant to complement features available in the .Net family of languages, although not all of this work is finished yet. For example, one change in Version 0.4 better supports F# records, as well as some analogous features in C#.

Where to download

You can download the current version of ML.Net from GitHub.