- Microsoft has released ML.NET as a part of .NET Foundation.
- It consists of C# and .NET APIs for model training and consumption.
- 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.
The First Preview
The ML.NET preview release includes transforms for feature engineering such as n-gram creation, and learners to handle regression (price prediction), binary and multi-class classification (sentiment analysis) tasks.
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.
Code example to train a model to predict sentiment from text samples
Developers will be adding more features and capabilities (like recommendation system, anomaly detection) to ML.NET in the upcoming versions. For now, they are exploring the following areas –
- Open neural network exchange support
- More machine learning operation and scenarios
- Intuitive GUI to make machine learning operations easier
- Deep Learning with CNTK and TensorFlow
- Integration with Azure services and Visual Studio tools for AI.