• Amit Agrawal
  • Nov 23, 2019

ML.Net Is Aimed At Providing The End-end Workflow For Consuming ML Into .NET Application Development
Amit Agrawal Web Development Nov 23, 2019 28

ML.NET is a machine learning framework that is cross-platform(Windows, Linux, macOS) and open source. It is created by Microsoft for the .NET developers.

The developers can leverage existing tools and their skill sets to develop and include customized Artificial Intelligence (AI) into the application that they develop, this can be done by using ML.NET. AI can be infused by creating custom machine learning models for normal scenarios like Sentiment Analysis, Sales Forecast, Image Classification, Product Recommendation, Customer Segmentation, and many more.

The Architecture of ML.NET:

Let us look at the things that are supported by the architecture of ML.NET

  • Framework support and Operating Systems supported by ML.NET: Windows, Linux, and macOS using .NET core and windows using the .NET framework.
  • Hardware / Processor architecture support: x64 bit support for all the platforms. X86 support for windows, except for TensorFlow, LightGBM, and functionality related to ONNX.
  • .NET versions that are supported by ML.NET: The .NET Core 2.1 and later versions are supported and .NET Framework 4.6.1 or later is supported, but if you look at the recommendations you should go for 4.7.2. when looking for the best choice for class libraries .NET Standard 2x is the one people should go with.

Let us now look at the things that are not supported by the architecture of ML.NET:

There are few platforms and frameworks and architectures on which ML.NET is not supported like ARM processor architecture, impacting apps of Xamarin(iOS, Android) and IoT devices that are based on ARM, but the ML model can always run on the ‘server-side’. Utility and UWP are not yet supported by ML.NET, although in upcoming plans by Microsoft all these technologies will be supported by ML.NET. If someone knows hacking then they can still run the UWP apps and Unity with ML.NET.

5 Best Artificial Intelligence & Machine Learning Books in 2019

The Architecture of End-User Application:

A Set of NuGet packages was used to compose ML. Anyone can use it within their own .NET application whenever it runs (on-premises, cloud, client, server, etc.).

Below are packages that are part of a few common application workload types that someone can run ML.NET NuGet packages:

  • WebAPI services and ASP.NET Core Web Apps
  • WebAPI services and ASP.NET Web Apps
  • Functions of Azure
  • Any other Azure app model app (server-side)
  • .NET WPF app for desktop
  • .NET WinForms app for desktop
  • .NET app for core console (useful for training for ML model)
  • .NET app for Framework console (Mostly for training ML model)       

Why Should One use ML.NET:

Create custom and specialized ML models for your business data and its scenarios:

There is one-hand ‘Pre Built AI’ services such as Azure Cognitive Services which can be enough for many cases for the AI scenarios in the general Artificial Intelligence ecosystem.

On the other hand, there are cases where the developers create their own custom ML model for the problems of their business and then train it with their own data. The second case is called ‘Custom AI’. When a framework like ML.NET should be used, this happens. ML.NET is the framework that is ‘code-first’ based machine learning that allows its users to create their own ML models by training them with data of their own and can also take advantage of great flexibility and customization by deep diving and selecting the ML algorithms and approaching them and considering better for their business.

Data Analysis vs Data Science vs Machine Learning

ML.NET creating Machine learning Scenarios:

There are so many scenarios that can be implemented with the help of ML.NET, the ones mentioned below are just a few examples:

  • Binary Classification
  • Regression
  • Recommendation
  • Ranking
  • Multi-class classification

 Ready for Production:

ML.NET has changed a lot during the last decade, it was originally developed by Microsoft as an internal framework for .NET and it just evolved with time to the way it is right now. It is a framework that is production-proven because it is currently used throughout so many products in Microsoft like Windows, Bing, Azure, Office, Power BI and so many more.

In the year 2018 Microsoft decided that it will make it available as the framework for its customers too. Since its first preview release, they have been polishing a new API that is easier for the developers to use, while creating documentation and the samples. The battle-proven artifacts used by the team of Microsoft for quite a few years are still the main core engine and proven ML algorithms.

 ML.NET’s Main Components:

The launch of ML.NET was the part of the .NET Foundation and the repo contains the .NET API(s) for both cases of training of model and consumption. Along with it a variety of learners and transformers were required for tasks that were popular with ML, like regression and classification.

ASP.NET development services have changed a lot during the last decade and they are improving, they were just for the .NET developers of Microsoft but now they have made it available for their customers too.  With the use of ML.NET framework, the .NET application development has been benefited and improved, it has added value to the way .NET applications were developed before. Microsoft application development team has always provided some great tools for the developers as well as their customers. The team of Microsoft Technology Associates has also worked with dedication to provide the developer’s community with a tool that will ease the process of making the web apps.

Few Final Words

machine learning is implemented in .NET with the help of ML.NET and its aim is at providing the end-end workflow so that it can consume ML into .NET apps across different steps of machine learning (pre-processing, engineering of features, modeling, operationalization, and evaluation).

In ML.NET 1.0 the developers could only build or develop custom models, the process could also be automated. It worked fine with most platforms such as Windows, Azure, Power BI and many more. It can work with ONNX, TensorFlow, and Infer.NET because it is extensible.

Author:

  • Amit Agrawal

    Amit Agrawal

    Nov 23, 2019

    Amit Agrawal Founder and COO at Cyber Infrastructure (P) Limited which is an custom software development company provides services such as custom application development, mobile application development, creative web design, Microsoft solutions, SAP solutions, open source development, Java development, Oracle development, big data solutions, digital experience solutions, CAD/CAM architectural services, testing automation, infrastructure automation and cloud, digital marketing, ITeS, etc

Leave A Comment :