ML.NET | Microsoft’s Open Source Machine Learning Framework

The primary objective is to make machine learning more efficient in .NET.

One can extend this framework by adding other well-known machine learning libraries like TensorFlow.

The first developer preview is of ML.NET is now available. It’s an open source, cross-platform machine learning framework built for .NET developers. It was originally created by Microsoft, and over the last 10 years, the framework has been used across several Microsoft products, including Azure, Bing and Windows.

ML.NET allows you to build your own models and integrate machine learning (ML) methods into applications. The best thing is you don’t require any prior expertise to configure ML models.

In addition to these features, ML.NET brings the .NET APIs’ first draft for training models, and key modules like core machine learning data structure and learning algorithms. Moreover, it complements the experiences provided by Azure Cognitive Services and ML, by allowing code-first strategy.

One can extend this framework by adding other well-known machine learning libraries like CNTK, Accord.NET, Caffe2 and TensorFlow. And since it’s a cross platform tool, you can run it on macOS, Windows and Linux devices.

Core Modules of ML.NET

All components of ML.NET first preview

Microsoft has released ML.NET as a part of .NET Foundation. It consists of C# and .NET APIs for model training as well as consumption. The primary objective is to make machine learning more efficient in .NET.

To achieve this, it offers end to end workflow to integrate machine learning into .NET application across pre-processing, modeling, feature engineering, operationalization and evaluation.

The framework repo can be created from a common, non-admin command prompt. It generates several binaries that make up the ML.NET libraries and supplement tests.

The developer workflow is categorized into certain tasks, which are transparent, fast, and easy to grasp. This provides flexibility as you can iterate on a particular task without having to execute the full workflow. The tasks can be reused by other processes if needed, and anyone can put together these tasks to build a custom workflow.

The framework supports runtime and types required for almost all features of ML, including high performance math, extensible pipelines, core data types and data structures for heterogeneous information, and more.