Serdar Yegulalp
Senior Writer

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

news
Aug 8, 20182 mins

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

ai machine learning iot framework vr
Credit: Thinkstock

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 ML.net

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

Serdar Yegulalp

Serdar Yegulalp is a senior writer at InfoWorld. A veteran technology journalist, Serdar has been writing about computers, operating systems, databases, programming, and other information technology topics for 30 years. Before joining InfoWorld in 2013, Serdar wrote for Windows Magazine, InformationWeek, Byte, and a slew of other publications. At InfoWorld, Serdar has covered software development, devops, containerization, machine learning, and artificial intelligence, winning several B2B journalism awards including a 2024 Neal Award and a 2025 Azbee Award for best instructional content and best how-to article, respectively. He currently focuses on software development tools and technologies and major programming languages including Python, Rust, Go, Zig, and Wasm. Tune into his weekly Dev with Serdar videos for programming tips and techniques and close looks at programming libraries and tools.

More from this author