Fact-checked by Grok 2 weeks ago

ML.NET

is a free, open-source, cross-platform framework developed by for the .NET developer platform, enabling the creation, training, and deployment of custom ML models directly in C# or F# applications. Introduced in 2018, it integrates capabilities into .NET ecosystems without requiring extensive prior expertise in ML model development or tuning algorithms. Key features include support for supervised and tasks such as , , clustering, , recommendation systems, and , with algorithms for , price prediction, fraud detection, and image . facilitates end-to-end workflows from data preparation and model training to evaluation and inference, leveraging tools like Model Builder—a extension for automated ML experimentation—and the CLI for command-line operations. As of version 3.0 released in 2025, enhancements include improved AutoML for tasks like sentence similarity, , and object detection, alongside compatibility with .NET 9 for broader deployment across Windows, , and macOS.

Overview

Purpose and Scope

ML.NET is an open-source, cross-platform framework developed by specifically for developers, enabling the integration of custom models into applications built with C# and F#. Its primary purpose is to allow developers to train, evaluate, and deploy models without requiring expertise in external languages or environments, leveraging existing .NET skills and libraries to handle tasks such as , , recommendation, , and . The framework's scope encompasses both prediction scenarios, supporting deployment in diverse .NET application types including , mobile, desktop, games, and devices across Windows, macOS, and platforms. It provides extensible APIs through packages for building pipelines, alongside user-friendly tools like Model Builder—a extension for (AutoML)—and the ML.NET CLI for command-line model training and experimentation. These components facilitate and production-ready models, with demonstrated performance such as achieving 93% accuracy in on a 900 MB dataset in under 11 minutes. While focused on custom model development within the .NET , ML.NET extends compatibility with imported models from formats like and ONNX, broadening its applicability for hybrid workflows without encompassing full-scale cloud ML services or pre-built enterprise solutions. This design prioritizes developer productivity and seamless integration over comprehensive infrastructure, positioning it as a lightweight alternative for embedding ML directly into .NET codebases.

Core Components

ML.NET's foundational architecture centers on the MLContext class, which acts as a for initializing operations, providing access to catalogs for data loading, transformations, and trainers such as or algorithms. This context manages the creation of pipelines and ensures consistent handling of schemas and randomness across sessions. At the heart of data processing is the IDataView interface, representing a lazily evaluated, in-memory or streaming organized in columns with defined schemas, such as feature vectors required for model training. DataViews support efficient operations like row cursor navigation and batching, enabling scalability for large datasets without full materialization in memory. Machine learning workflows are constructed via pipelines, sequences of IEstimator objects that define data preparation steps (e.g., featurization via or ) followed by components. Upon invocation of the Fit on a pipeline with an IDataView input, estimators produce ITransformer instances, which encapsulate learned parameters for transforming input data into predictions, such as outputs or classifications. Trainers, accessed through specialized catalogs like RegressionCatalog or MulticlassClassificationCatalog, implement algorithms such as for linear models, estimating parameters like weights and biases from labeled training data. These components integrate seamlessly, allowing developers to chain transformations for tasks like or recommendation systems while maintaining schema propagation for end-to-end pipeline validation.

History

Origins and Initial Development

ML.NET originated from internal efforts within , where components were developed and refined over approximately a decade prior to its public release. These early foundations powered functionalities in various Microsoft products, including Skype for real-time translation, Bing for search ranking, and Cortana for , demonstrating practical scalability in production environments. The framework's was built to address the need for customizable, high-performance ML pipelines tailored to .NET ecosystems, emphasizing extensibility through plugins and interoperability with existing C# codebases. The decision to open-source ML.NET stemmed from Microsoft's recognition of growing demand among .NET developers for accessible ML tools, aiming to democratize model and without requiring shifts to other languages like . Initial development focused on cross-platform compatibility, supporting Windows, , and macOS, while leveraging .NET's managed execution for robust data handling and algorithm implementation. Key early features included support for tasks such as , , and recommendation systems, with APIs designed for pipeline-based workflows to simplify experimentation and deployment. Public development commenced with the first preview release, version 0.1, announced on , , at Microsoft's Build conference, marking the transition from proprietary internal use to an open-source project hosted on . This initial version introduced core abstractions like data loaders, transformers, and trainers, enabling developers to build end-to-end ML solutions in C# or F#. Subsequent previews, such as 0.10 in 2019, iterated on stability, adding and matrix factorization while incorporating community feedback to refine usability. These early iterations laid the groundwork for (AutoML) capabilities, prioritizing empirical performance over theoretical breadth.

Key Milestones and Releases

ML.NET was initially released as a preview version 0.1 on May 7, 2018, during the conference, marking the framework's public debut as an open-source library for .NET developers. This early version focused on core APIs for tasks like , , and , with subsequent monthly previews refining usability and expanding algorithm support. The stable version 1.0 launched on May 6, 2019, after over a year of iterative previews, introducing a production-ready , improved data pipelines, and integration with tools like Model Builder for visual model training. Version 1.4 followed in November 2019, coinciding with Microsoft Ignite, adding enhancements such as tensor support and updates to AutoML capabilities for broader task automation. ML.NET 2.0 arrived in November 2022 alongside .NET 7, incorporating state-of-the-art deep learning for text classification via new APIs and aligning with .NET's annual release cadence to leverage runtime performance gains. This version emphasized interoperability with ONNX models and expanded preprocessing transformers for real-world data handling. Version 3.0 was released on November 22, 2023, integrating TorchSharp for deep learning tasks including object detection, named entity recognition, and question answering, while updating AutoML to support these via sweepers for hyperparameter optimization. A servicing update, 3.0.1, followed in March 2024, adding Apache Arrow timestamp support in DataFrames for efficient large-scale data processing. Subsequent development reached ML.NET 4.0 by 2025, with previews and stable releases enhancing tokenizers (e.g., Tiktoken, support) in Microsoft.ML.Tokenizers for advanced models, alongside O3 model mappings and deterministic training in . These updates maintained alignment with .NET's ecosystem, prioritizing cross-platform compatibility and performance optimizations.

Technical Foundations

Pipeline Architecture

The pipeline architecture in ML.NET centers on a composable sequence of data transformations and model training steps, enabling developers to process raw data into trainable formats and ultimately produce prediction-ready models. At its foundation lies the IDataView interface, which represents tabular data in a lazy-evaluated, schema-aware manner, allowing efficient handling of large datasets through row without loading entire datasets into memory. This design supports streaming data sources and schema propagation, where input (defining column names and types) automatically infer output schemas after each transformation, ensuring and reducing errors in pipeline construction. Pipelines are constructed via the MLContext class, which serves as the central orchestrator for creating estimators—objects that define transformations or training operations. An estimator chain begins with data loading (e.g., from CSV, images, or databases into an IDataView), followed by featurization transformers such as normalization, one-hot encoding, or text tokenization to prepare features for algorithms. These are appended using methods like Append or Prepend, forming an IEstimator, which, when fitted to training data via Fit, yields a trained ITransformer pipeline capable of transforming new data for predictions. Trainers, such as stochastic dual coordinate ascent (SDCA) for regression or LightGBM for classification, integrate as the final estimator, outputting a model that encapsulates learned parameters within the pipeline. This architecture emphasizes extensibility, permitting custom transformers via inheritance from RowToRowTransformer or ManyToOneTransformerBase, and interoperability with external libraries through ONNX import/export for model portability. Evaluation components, like cross-validation or metrics computation (e.g., accuracy, RMSE), can be inserted post-training to assess pipeline performance on holdout data. By design, pipelines enforce a directed acyclic graph-like flow, preventing cycles and enabling debugging through intermediate IDataView inspection, which logs schemas and sample rows at each stage. This results in reproducible, scalable workflows suitable for .NET applications, with serialization support for deploying pipelines as consumable artifacts.

Supported Algorithms and Data Handling

ML.NET provides trainers for a range of tasks, including binary and , , clustering, , , recommendation, forecasting, and . Tree-based algorithms such as and FastTree are available for , , and , offering high accuracy on non-linear data but requiring more computational resources. Linear algorithms like Stochastic Dual Coordinate Ascent (SDCA) and Limited-memory Broyden–Fletcher–Goldfarb–Shanno (L-BFGS) support scalable training for and , performing efficiently on normalized features. Other specialized trainers include KMeans for unsupervised clustering, MatrixFactorization for recommendation systems, and RandomizedPca for . NaiveBayes is supported for , while meta-algorithms like OneVersusAll enable handling of multiclass problems via binary classifiers. For forecasting, trainers such as Ssa () are utilized, and object detection integrates with pretrained models via tools like Model Builder. Additionally, ML.NET allows importing pretrained deep learning models from TensorFlow or ONNX formats, extending support to neural network-based tasks like image and text .
CategoryExamplesTasks
Tree-BasedLightGbmBinaryTrainer, FastTreeRegressionTrainer, GamBinaryTrainer, ,
LinearSdcaLogisticRegressionBinaryTrainer, LbfgsPoissonRegressionTrainer, OlsTrainer,
Matrix FactorizationMatrixFactorizationTrainer, FieldAwareFactorizationMachineTrainerRecommendation,
Clustering/AnomalyKMeansTrainer, RandomizedPcaTrainerClustering,
OtherNaiveBayesMulticlassTrainer, PriorTrainer
Data handling in ML.NET centers on the IDataView interface, a lazy-evaluated, schema-aware structure for loading and processing tabular from sources like files, arrays, or databases, enabling efficient memory usage for large datasets. Pipelines chain data transforms and trainers, starting with loading into IDataView via MLContext, followed by featurization to convert raw inputs into numerical feature vectors required by algorithms. Key transforms include ReplaceMissingValues for handling nulls (e.g., via imputation), NormalizeMinMax for scaling features to a 0-1 range, and categorical encoding methods like OneHotEncoding or MapValueToKey. Text and categorical data are featurized using operations such as FeaturizeText, which applies tokenization, n-gram extraction, and normalization to produce dense vectors. For image data, integrations with TensorFlow preprocess inputs into feature vectors. Pipeline construction uses estimators (e.g., Append for chaining) to define transformations declaratively, with TrainTestSplit for dataset partitioning (typically 80/20) and filtering via FilterRowsByColumn to refine inputs. This modular approach ensures data pipelines are reusable and composable, outputting transformed IDataViews compatible with trainers for model fitting.

Features and Capabilities

Training and AutoML Tools

ML.NET provides training capabilities through its core MLContext class, which serves as the entry point for creating pipelines. These pipelines combine loading, (such as featurization via OneHotEncodingTransformer or ), and model using specialized trainers tailored to tasks like (SdcaLogisticRegressionBinaryTrainer), (FastTreeRegressionTrainer), or (LightGbmRankingTrainer). involves fitting the pipeline to a via the Fit method, which optimizes model parameters based on the specified and convergence criteria. Model evaluation during training employs techniques such as k-fold cross-validation, accessible through MLContext.Data.CrossValidationSplit, to assess generalization performance using metrics like accuracy for or root mean squared error (RMSE) for . Hyperparameters for individual trainers, including learning rates and number of iterations, must be manually tuned or set via grid search, though ML.NET supports custom cross-validation pipelines for this purpose. Automated Machine Learning (AutoML) in ML.NET extends training by systematically exploring combinations of data transformations, algorithms, and hyperparameters to identify optimal models without extensive manual configuration. The AutoML API, invoked via MLContext.Auto().CreateBinaryClassificationExperiment or similar task-specific methods, iterates over predefined sweeps—up to a user-specified maximum number of experiments (e.g., 1000) or time budget (e.g., 30 minutes)—evaluating candidates with cross-validation and ranking them by metrics like area under the curve (). It supports binary and , , and , outputting the best ITransformer pipeline, including featurization and trainer details, for subsequent evaluation and deployment. The CLI tool (mlnet auto-train) operationalizes AutoML from the command line, automating ingestion, experiment execution, and model to formats like ONNX, with options for custom metrics and . This facilitates reproducible training in pipelines, though it relies on the same underlying sweeps as the . For non-experts, AutoML reduces the need for domain-specific knowledge in algorithm selection, prioritizing empirical performance over theoretical optimality.

Inference and Deployment

Inference in ML.NET occurs through the application of a trained model to new input data, typically after loading the serialized model file. Trained models are saved as compressed .zip files containing the transformation pipeline and schema, using the MLContext.Model.Save method with an ITransformer and input DataViewSchema. To load a model for inference, developers invoke MLContext.Model.Load("model.zip", out var schema), yielding an ITransformer instance. For single predictions, a PredictionEngine<TInput, TOutput> is created from the loaded via MLContext.Model.CreatePredictionEngine, enabling efficient scoring of individual instances without full materialization. Batch processes entire IDataView inputs through the transformer's Transform method, supporting scalable predictions on large datasets. integrates pretrained models via the ScoreTensorFlowModel transform or ONNX models through ApplyOnnxModel, leveraging ONNX Runtime for execution; these require prior model conversion to compatible formats. Deployment of models emphasizes embedding within .NET applications for in-process execution, avoiding external dependencies for low-latency predictions. In web , models are loaded at application startup using with AddPredictionEnginePool, which provides thread-safe, pooled prediction engines from a .zip file or , configurable for automatic reloads on file changes. endpoints handle HTTP requests by injecting the pool and invoking Predict on deserialized inputs, facilitating RESTful model serving. For interoperability, supports exporting trained models to ONNX format via the Microsoft.ML.OnnxConverter package and MLContext.Model.ConvertToOnnx, enabling deployment to non-.NET environments or runtimes like ONNX Runtime on mobile or edge devices. This cross-platform capability, combined with 's support for Windows, Linux, and macOS, allows models to run in diverse production scenarios without retraining.

Interoperability and Extensions

ML.NET supports interoperability with external machine learning frameworks primarily through the (ONNX) format, enabling the import and inference of pretrained models from ecosystems such as and within .NET applications. This is facilitated by the Microsoft.ML.OnnxTransformer component, which loads ONNX models and integrates them into ML.NET pipelines for tasks like and image classification, with support added as early as the framework's initial releases and expanded in versions like ML.NET 3.0 for enhanced capabilities. For specifically, ML.NET provides native bindings via the Microsoft.ML.TensorFlow package, allowing developers to consume frozen graphs for prediction without retraining, thus bridging Python-based training workflows to C# inference. PyTorch integration occurs indirectly through ONNX export or directly via , a .NET wrapper for 's LibTorch library, which leverages for and other operations starting in version 3.0 released on November 28, 2023. This interoperability extends to Azure Machine Learning, where AutoML-generated ONNX models can be loaded into for .NET console or web applications, supporting platforms like Windows and with 64-bit architecture. Models can be saved in ONNX format using the Microsoft.ML.OnnxConverter NuGet package, ensuring portability across frameworks while maintaining performance optimized for .NET runtime. Extensions in ML.NET are achieved through its extensible API, allowing developers to create custom transformers and estimators to augment core functionality beyond built-in algorithms. Custom components wrap user-defined code into reusable pipeline elements, such as specialized data preprocessors or scoring functions, integrated via inheritance from base classes like ITransformer or IEstimator. This modularity supports domain-specific adaptations, for instance, in handling proprietary data formats or hybrid models combining ML.NET natives with external logic, distributed through NuGet packages for community reuse. While ML.NET's core emphasizes .NET Standard compatibility for broad language support (C#, F#, VB.NET), extensions must adhere to runtime constraints, excluding 32-bit TensorFlow or ONNX on non-Windows platforms.

Tools and Ecosystem Integrations

Model Builder

Model Builder is a extension developed by that enables developers to build, train, and deploy custom models using ML.NET's (AutoML) capabilities through a , requiring no prior expertise. It automates the selection of algorithms, hyperparameter tuning, and model evaluation, generating reusable C# code and trained model files (.zip) that integrate directly into .NET applications. This tool supports local training on the developer's machine or cloud-based training via , with training times scaling based on size—for instance, datasets of 0-10 complete in about 10 seconds, while those exceeding 1 may take over 3 hours. The extension supports a range of supervised learning scenarios, leveraging ML.NET pipelines for data preparation, featurization, and prediction. Key tasks include binary and multiclass classification, regression, recommendation, forecasting, and computer vision tasks like image classification. For example, it can train models for sentiment analysis (binary classification on positive/negative labels), taxi fare prediction (regression), or flower category identification (image classification). Evaluation metrics vary by task, such as accuracy for classification or R-squared for regression, with AutoML selecting the best-performing model from multiple iterations. Data input is handled via CSV or TSV files, or directly from SQL Server databases, though reliable results require datasets with more than 100 rows. To use Model Builder, developers add the extension to (versions 2019 or 2022), right-click a project to launch the tool, select a , load , specify the column, and initiate AutoML . The process outputs three artifacts: Model.consumption.cs for loading the model and making predictions, Model.training.cs for retraining with new , and a serialized Model.zip file containing the trained pipeline. An mbconfig.json file tracks sessions, including run history and parameters, facilitating reproducibility and iteration. Sample projects, such as console applications or Web APIs, are automatically generated to demonstrate . Local GPU acceleration is available only for image and text classification tasks, while advanced features like evaluation require resources. Introduced in May 2019 alongside early ML.NET releases, Model Builder has received regular updates to enhance usability and performance. For instance, the June 2023 release (versions 16.17.0 for 2019 and 17.17.0 for 2022) added advanced training configurations, improved handling of large datasets, relative path support for model files, and evaluation code for scenarios. These updates align with ML.NET's evolution, ensuring compatibility with newer frameworks like .NET Standard for broad application integration. The tool remains free, with no licensing requirements, emphasizing its role in democratizing ML for .NET developers by reducing the need for manual pipeline coding.
Supported TaskExample ScenarioEvaluation Metrics Example
Binary Classification (positive/negative)Accuracy
Multiclass ClassificationGitHub issue categorizationMicro/Macro accuracy
Image ClassificationObject or category identificationAccuracy
Numerical (e.g., taxi fares)R-squared
RecommendationUser-item suggestions (e.g., movies)
ForecastingTime-series (e.g., sales)

Visual Studio and .NET Integrations

ML.NET integrates with primarily through package management and command-line tools, enabling developers to incorporate pipelines into standard C# or F# projects without requiring specialized extensions beyond core .NET tooling. Developers typically start with conventional project templates, such as the C# Console App, available in 2022 and later versions, then add the Microsoft.ML package (version 3.0.1 as of December 2024) via the UI or CLI to access core for loading, , , and prediction. This approach leverages 's built-in debugging, IntelliSense, and refactoring features for ML workflows, including evaluation of model metrics like directly in code. In January 2019, with ML.NET version 0.9, Microsoft introduced preview project templates in Visual Studio for common tasks such as binary classification and regression, streamlining initial setup by generating boilerplate code for data ingestion and model training. Although these templates were in preview and subsequent documentation emphasizes flexible integration over dedicated scaffolds, the ML.NET CLI (installed via dotnet tool install -g Microsoft.ML.Tools) complements Visual Studio by generating task-specific code snippets—e.g., mlnet classification—that can be pasted into projects for automated experimentation and pipeline export. This CLI integration supports iterative development within Visual Studio, where generated C# code handles featurization and cross-validation, reducing boilerplate while maintaining compatibility with version control and team workflows. ML.NET's .NET integrations emphasize seamless compatibility across the ecosystem, targeting .NET Standard 2.0 for broad support including .NET Framework 4.6.1 and later, .NET Core 3.1, .NET 5 through .NET 8, and cross-platform deployments on Windows, , macOS, ARM64, and WebAssembly. Models trained with ML.NET can be serialized and loaded for inference in diverse application types, such as web APIs for real-time predictions, WPF or WinForms desktop applications for offline processing, and Functions for serverless scalability. For instance, the PredictionEngine class facilitates high-throughput scoring in production environments, with integration enabling model portability to non-.NET runtimes if needed, though primary strength lies in native .NET performance optimizations like SIMD instructions. This framework-agnostic design within .NET allows consumption of custom models alongside standard libraries like for data access, ensuring minimal overhead in enterprise applications.

Specialized Libraries (e.g., Infer.NET)

Infer.NET is a framework developed by , specializing in over graphical models to enable and statistical modeling in applications. Originally released in 2008 as a library, it was open-sourced in October 2018 under the and integrated into the ecosystem to address limitations in probabilistic reasoning and scenarios not natively covered by ML.NET's core supervised and algorithms. This integration allows developers to load and consume Infer.NET models within ML.NET pipelines, extending capabilities for tasks such as personalized recommendations, with uncertainty estimates, and ranking systems like the algorithm used in matchmaking for games such as Live. The framework supports defining probabilistic models using a declarative syntax in C#, where variables represent distributions (e.g., Gaussian, ) and factors encode dependencies via algorithms like expectation propagation or variational message passing. For instance, in an ML.NET context, Infer.NET can process for , updating posterior distributions incrementally, which contrasts with 's batch-oriented trainers and enables hybrid workflows combining deterministic components with stochastic modeling. As of its latest versions (e.g., 3.0 released in 2021), Infer.NET maintains compatibility with .NET Standard 2.0, ensuring seamless deployment in applications across Windows, , and macOS. Beyond Infer.NET, ML.NET's ecosystem includes other specialized extensions for niche tasks, such as for on decision trees and Microsoft.ML.OnnxRuntime for importing ONNX-formatted models from frameworks like or , facilitating interoperability without full retraining. These libraries enhance ML.NET's modularity, allowing task-specific optimizations while preserving the unified pipeline , though adoption of probabilistic tools like Infer.NET remains lower due to their computational intensity compared to deterministic alternatives.

Performance Evaluation

Benchmarks Against Competitors

Independent benchmarks comparing ML.NET to established frameworks like , , and are limited, with most evaluations focusing on specific tasks rather than comprehensive suites. A 2024 performance study evaluated ML.NET against TensorFlow.NET—a .NET binding for TensorFlow—on deep learning applications using an Intel Core i7 CPU, 16GB RAM, and NVIDIA RTX 3060 GPU. For image classification with a () on the dataset, .NET achieved higher accuracy at 89.5% compared to 's 81.2%, with training times of 28.3 minutes versus 42.5 minutes. Inference latency averaged 58.7 ms for .NET and 92.3 ms for . Similarly, for text with a () on the dataset, .NET reached 85.9% accuracy against 's 78.5%, training in 25.6 minutes versus 37.8 minutes. The study concluded that .NET outperforms in training efficiency, model accuracy, and inference speed for tasks, attributing 's relative shortcomings to less optimized GPU utilization and managed code overhead, though provides simpler integration for .NET-centric workflows.
TaskFrameworkAccuracy (%)Training Time (min)Inference (ms)
(CIFAR-10)ML.NET81.242.592.3
(CIFAR-10)TensorFlow.NET89.528.358.7
RNN ( Sentiment)ML.NET78.537.892.3
RNN ( Sentiment)TensorFlow.NET85.925.658.7
In CPU-only inference scenarios, ML.NET has demonstrated advantages over PyTorch. A 2021 comparison on models found ML.NET evaluating models faster on CPU than PyTorch, making it suitable for production in resource-constrained environments without GPU acceleration. Recent discussions in 2025 affirm ML.NET's edge in high-performance CPU over .NET-specific PyTorch bindings like SharpTorch, leveraging .NET's for low-overhead predictions in C# applications. Comparisons to , primarily for classical , indicate ML.NET can be faster on smaller datasets and more reliable on larger ones due to its optimizations and native .NET data handling, though benefits from 's mature ecosystem for rapid prototyping. Overall, ML.NET excels in inference latency within .NET ecosystems—avoiding interop costs with frameworks—but lags in training speed and peak accuracy for compute-intensive , where specialized libraries like or dominate owing to native optimizations and broader hardware support.

Optimization and Scalability

ML.NET employs efficient data processing pipelines via the IDataView abstraction, which facilitates scalable handling of large datasets through lazy loading and streaming operations, minimizing memory usage and enabling processing beyond available RAM. This design supports incremental training and inference on substantial data volumes without full materialization. For inference optimization, ML.NET integrates with ONNX Runtime, allowing models to leverage , including GPU support through backends like and DirectML, which can reduce latency for compute-intensive predictions such as image classification. However, empirical tests indicate that GPU acceleration yields variable performance gains depending on model complexity and hardware; in some cases, CPU execution remains competitive or superior for lighter workloads. Deployment best practices further enhance scalability, such as asynchronous prediction pipelines and model caching in applications via the Microsoft.Extensions.ML package, enabling high-throughput serving in containerized or cloud environments like . Scalability in is primarily single-node oriented, with algorithms like linear trainers scaling approximately linearly with count and dataset size through multiple data passes, but lacking native distributed multi-GPU or multi-node capabilities inherent in frameworks like . For enterprise-scale , ML.NET users often integrate with Machine Learning for distributed compute resources, though this extends beyond the core framework's standalone . Overall, ML.NET prioritizes CPU-efficient, production-ready performance suitable for .NET ecosystems, trading some scalability for seamless integration and lower overhead in non-specialized hardware setups.

Adoption and Impact

Use Cases in Industry

ML.NET has been applied in healthcare for developing human-in-the-loop machine learning frameworks that streamline medical research workflows, as demonstrated by the Hunter Medical Research Institute (HMRI), which leveraged the framework to build in-house solutions without outsourcing development. In business intelligence, Power BI integrates ML.NET to identify key influencers and customer segments, enabling users to analyze factors driving business metrics such as sales or engagement. Consulting firms like endjin have utilized ML.NET's AutoML capabilities to automate article selection and categorization for industry newsletters, processing content from sources like Azure updates to reduce manual effort. In , ML.NET supports detection models that analyze patterns for anomalies, allowing .NET-based applications to flag unusual spending in . Retail and sectors employ it for product recommendation systems and , where algorithms predict customer preferences based on historical to optimize and personalize offerings. Manufacturing applications include from IoT sensor to identify equipment defects early, preventing downtime through integrated into .NET enterprise systems. Additional industry uses encompass for customer feedback processing in platforms and image classification for in automated inspection lines, with models trained on domain-specific datasets to achieve deployment in production environments. These implementations highlight ML.NET's suitability for on-device inference in .NET ecosystems, where low-latency predictions are required without reliance on cloud services, as seen in systems that classify email senders to automate contact management. Adoption in these areas has grown since ML.NET's stable release in , driven by its seamless integration with existing .NET codebases for scalable, custom model deployment.

Community Reception and Growth

ML.NET has received favorable feedback from .NET developers for enabling integration without requiring specialized data science knowledge, leveraging familiar and tools like AutoML for . Community discussions highlight its utility in personal experiments and production scenarios, such as and , though users occasionally encounter hurdles in model customization, often addressed through support. The open-source repository on , maintained under the .NET Foundation, reflects ongoing community involvement with 36 releases, 983 open issues, and 15 pull requests as of recent data, alongside a dedicated samples repository demonstrating diverse applications. Microsoft facilitates engagement via Community Standups, where developers discuss extensions, updates, and real-world implementations, contributing to iterative improvements since the framework's preview launch in May 2018. Adoption is evidenced by substantial package downloads, including over 8.5 million for the Microsoft.ML.DataView component, underscoring its role in .NET ecosystems for tasks like and model training. While not dominating general ML surveys, ML.NET's growth aligns with broader .NET expansion, with community contributions enhancing its extensibility and appeal to developers prioritizing cross-platform compatibility.

Criticisms and Limitations

Technical and Documentation Issues

Users have reported memory leaks in training commands, particularly with tasks consuming unbounded memory, as documented in issue #2497 from February 2023. Training processes can fail on datasets with blank or null values in columns, necessitating manual data cleaning that is not always intuitively handled by default pipelines, per issue #2779 reported in October 2023. The tokenizer in earlier versions mishandled special tokens, leading to incorrect processing, though this was addressed in the 4.0.1 servicing release on February 25, 2025. Static analysis tools like PVS-Studio have uncovered logical errors in codebase, including redundant conditional checks that trigger exceptions and terminate execution, as analyzed in September 2022. Documentation gaps contribute to implementation hurdles, with developers frequently struggling to assemble pipelines despite referencing official Learn tutorials, resulting in threads citing unclear sequencing for tasks like data loading and . Model Builder tool updates via extensions have encountered installation errors, such as VSIX failures during servicing, complicating access to visual training interfaces as noted in developer community reports from February 2022. Compatibility issues arise with models due to version mismatches between ML.NET and imported ONNX or SavedModel formats, often requiring manual resolution not fully detailed in integration guides. These documentation shortcomings primarily affect advanced or edge-case scenarios, where examples favor basic tutorials over comprehensive error-handling or cross-framework .

Ecosystem and Maturity Challenges

Despite its integration with the robust .NET ecosystem, ML.NET faces challenges in broader adoption due to the framework's niche focus on C# and .NET developers, resulting in a comparatively smaller community and fewer third-party extensions compared to Python-based alternatives like and . This limitation manifests in reduced availability of pre-trained models and specialized libraries, with developers often needing to bridge gaps by integrating Python tools, which can complicate production deployments in pure .NET environments. Maturity challenges stem from ML.NET's relatively recent origins in 2018, leading to gaps in advanced capabilities such as comprehensive support and , which were absent in early versions and required external efforts like TorchSharp to address. While the framework has achieved stability for tasks like and on structured data, its ecosystem lags in scalability for complex, distributed training scenarios prevalent in industry, where PyTorch's dynamic graphs and TensorFlow's production tooling dominate. Community feedback highlights ongoing hurdles in model interpretability and experimentation workflows, with adoption hindered by the need for .NET-specific expertise that is less abundant than Python's talent pool. These factors contribute to slower growth in non-Microsoft use cases, despite improvements in performance.

Recent and Future Developments

Updates Post-2023

In 2024, ML.NET version 4.0 introduced enhancements to the .ML.Tokenizers package, including refined APIs, support for Tiktoken encoding, tokenizer compatibility with the model, and integration of the CodeGen tokenizer. These updates also added overloads to the EncodeToIds method for Span<char> inputs with options for custom normalization, alongside improved interoperability with external libraries such as DeepDev and SharpToken. Further tokenizer improvements in version 4.0 included byte-level encoding support in the BPE tokenizer to accommodate models like DeepSeek, with the new BpeOptions class simplifying configuration parameters. Servicing updates followed, as 4.0.1, released on January 14, 2024, updated the .Numerics.Tensors dependency and refined for MLContext and tokenizer usage. Subsequently, 4.0.2 on February 26, 2024, incorporated mapping support for O3 models and refreshed underlying dependencies to address compatibility issues. A preview release of 5.0.0-preview1 appeared on February 26, 2024, featuring the introduction of the SentencePiece Unigram Tokenizer model and Phi-4 tokenizer, expanded model mappings, bug resolutions, and dependency alignments. These changes emphasized advanced capabilities, though no stable version 5.0 has been finalized as of late 2025, with ongoing focus on tokenizer refinements and integration with emerging AI models.

Planned Enhancements and Roadmap

maintains ML.NET as an open-source project aligned with the .NET release cadence, with major versions typically coinciding with .NET updates, such as ML.NET 2.0 alongside .NET 7. Bug fixes and minor features follow the .NET servicing schedule thereafter. The most recent publicly available roadmap, outlined in the project's repository with goals targeted through November 2023, emphasizes several key areas for enhancement. These include updating and samples to better support users, alongside improvements in capabilities such as simplified ONNX model consumption, scenario-based APIs for tasks like , , and via TorchSharp integration, and better with hardware accelerators. Additional priorities involve upgrading to its latest version with native format support, enhancing DataFrame APIs for broader data handling (e.g., VBuffer and KeyType), developing untyped prediction engines, and integrating model explainability tools like Fairlearn with refinements to and fairness constraints. These plans are described as aspirational and subject to reprioritization based on feedback and technical feasibility. Post-2023 releases, including 3.0 in May 2025, have advanced related areas like AutoML support for sentence similarity, , and , indicating sustained development in and automation scenarios despite the absence of an updated public roadmap. As of October 2025, has not released a comprehensive forward-looking roadmap beyond these elements and ongoing alignment with .NET ecosystem evolution.

References

  1. [1]
    What is ML.NET? An open-source machine learning framework for ...
    ML.NET is a free, open-source, and cross-platform machine learning framework, created by Microsoft, for the .NET developer platform.<|separator|>
  2. [2]
    ML.NET is an open source and cross-platform machine learning ...
    First, ensure you have installed .NET Core 2.1 or later. ML.NET also works on the .NET Framework 4.6.1 or later, but 4.7.2 or later is recommended.
  3. [3]
    Connect(); 2018 | Microsoft Learn
    The ML.NET library is a new open source collection of machine learning code—created by Microsoft for .NET developers—that can be used to create powerful ...
  4. [4]
    ML.NET June Updates - Microsoft Developer Blogs
    Jun 22, 2021 · ML.NET is an open-source, cross-platform machine learning framework for .NET developers that enables integration of custom machine learning ...
  5. [5]
    ML.NET - machine learning made for .NET
    ML.NET is a machine learning framework for .NET. ML.NET supports sentiment analysis, price prediction, fraud detection, and more using custom models.
  6. [6]
    ML.NET documentation - Tutorials, API reference - Microsoft Learn
    Learn how to use open-source ML.NET to build custom machine learning models and integrate them into apps. Tutorials, code examples, and more show you how.Overview of ML.NETMicrosoft IgniteML.NET tutorialsIntroduction to ML.NET (Part 8 ...ML.NET CLI command
  7. [7]
    What is Model Builder and how does it work? - ML.NET
    Nov 10, 2022 · ML.NET Model Builder is an intuitive graphical Visual Studio extension to build, train, and deploy custom machine learning models.
  8. [8]
    What's new in ML.NET - Microsoft Learn
    May 16, 2025 · In ML.NET 3.0, the AutoML sweeper was updated to support the sentence similarity, question answering, and object detection tasks.
  9. [9]
    What's new in .NET 9 - Microsoft Learn
    ML.NET. ML.NET is an open-source, cross-platform framework that enables integration of custom machine-learning models into . NET applications.
  10. [10]
    Overview of ML.NET - Microsoft Learn
    Apr 17, 2024 · ML.NET is an open-source, cross-platform machine learning framework for .NET developers that enables integration of custom machine learning ...
  11. [11]
    What is ML.NET and how does it work? - Microsoft Learn
    Dec 19, 2024 · ML.NET gives you the ability to add machine learning to .NET applications, in either online or offline scenarios.
  12. [12]
    Introducing ML.NET: Cross-platform, Proven and Open Source ...
    May 7, 2018 · ML.NET was originally developed in Microsoft Research and evolved into a significant framework over the last decade; it is used across many ...Missing: history | Show results with:history
  13. [13]
    Announcing ML.NET 1.0 - Microsoft Developer Blogs
    May 6, 2019 · ML.NET was originally developed within Microsoft Research, and evolved into a significant framework used by many Microsoft products such as ...Missing: history | Show results with:history
  14. [14]
    Machine Learning at Microsoft with ML.NET - ACM Digital Library
    In this paper we present ML.NET, a framework developed at Microsoft over the last decade in response to the challenge of making it easy to ship machine learning ...
  15. [15]
    Announcing ML.NET 0.10 – Machine Learning for .NET
    Feb 7, 2019 · Today we're announcing the release of ML.NET 0.10. ( ML.NET 0.1 was released at //Build 2018). Note that ML.NET follows a semantic versioning ...Missing: timeline early
  16. [16]
    Announcing ML.NET 1.0 RC - Machine Learning for .NET
    Apr 5, 2019 · Soon we will be ending the first main milestone of a great journey in the open that started on May 2018 when releasing ML.NET 0.1 as open source ...Missing: timeline early
  17. [17]
    Announcing ML.NET 1.4 general availability (Machine Learning for ...
    Nov 6, 2019 · Coinciding with the Microsoft Ignite 2019 conference, we are thrilled to announce the GA release of ML.NET 1.4 and updates to Model Builder ...
  18. [18]
    Microsoft Ships ML.NET 2.0 and New Model Builder Version for ...
    Nov 16, 2022 · The ML.NET 2.0 text classification API was part of the big debut of .NET 7 last week, adding state-of-the-art deep learning techniques for ...
  19. [19]
    Announcing ML.NET 3.0 - Microsoft Developer Blogs
    Nov 27, 2023 · While this post highlights several aspects of the ML.NET 3.0 release, the full list of updates is available in the release notes. Deep ...Missing: history | Show results with:history
  20. [20]
  21. [21]
    Microsoft.ML 4.0.2 - NuGet
    ML.NET is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers.
  22. [22]
    IDataView Interface (Microsoft.ML)
    The input and output of Query Operators (Transforms). This is the fundamental data pipeline type, comparable to IEnumerable<T> for LINQ.Definition · Examples
  23. [23]
    Inspect intermediate data during ML.NET processing - Microsoft Learn
    Dec 19, 2024 · Learn how to inspect intermediate data during ML.NET machine learning pipeline loading, processing, and model training steps in ML.NET.
  24. [24]
    Machine learning tasks - ML.NET - Microsoft Learn
    Dec 17, 2024 · Classification tasks · Regression · Clustering · Anomaly detection · Ranking · Recommendation · Forecasting · Object detection.<|separator|>
  25. [25]
    How to choose an ML.NET algorithm - Microsoft Learn
    Sep 15, 2021 · Trainer = Algorithm + Task · Linear algorithms · Decision tree algorithms · Matrix factorization · Meta algorithms · K-Means · Principal component ...Trainer = Algorithm + Task · Linear algorithms
  26. [26]
    Prepare data for building a model - ML.NET | Microsoft Learn
    Apr 7, 2023 · ML.NET machine learning algorithms expect input or features to be in a single numerical vector. Similarly, the value to predict (label), ...
  27. [27]
    Train and evaluate a model - ML.NET - Microsoft Learn
    Dec 19, 2024 · The goal of a machine learning model is to identify patterns within training data. These patterns are used to make predictions using new data.
  28. [28]
    What is Automated Machine Learning (AutoML)? - ML.NET
    Dec 19, 2024 · ML.NET supports the following tuners: Cost Frugal Tuner - Implementation of Frugal Optimization for Cost-related Hyperparameters, which takes ...
  29. [29]
    How to use the ML.NET Automated Machine Learning (AutoML) API
    Feb 15, 2023 · By default, AutoML supports binary classification, multiclass classification, and regression. However, ML.NET supports many more scenarios such ...
  30. [30]
    Automate model training with the ML.NET CLI - Microsoft Learn
    May 20, 2024 · ... ML.NET. Currently, the ML Tasks supported by the ML.NET CLI are: classification; regression; recommendation; image classification; forecasting ...<|separator|>
  31. [31]
    Save and load trained models - ML.NET | Microsoft Learn
    Dec 19, 2024 · After training the model, use the Save method to save the trained model to a file called model.zip using the DataViewSchema of the input data.
  32. [32]
    Deep Learning overview - ML.NET | Microsoft Learn
    Dec 19, 2024 · ML.NET provides APIs to train custom deep learning models and use them to make predictions inside your .NET application. These APIs are powered ...
  33. [33]
    Deploy a model in an ASP.NET Core Web API - Microsoft Learn
    Learn how to serve a pretrained ML.NET machine learning model on the web using an ASP.NET Core Web API. Serving a model over a web API enables predictions via ...Missing: options | Show results with:options
  34. [34]
    Tutorial: Detect objects using ONNX in ML.NET - Microsoft Learn
    May 9, 2023 · This tutorial illustrates how to use a pretrained ONNX deep learning model in ML.NET to detect objects in images.Prerequisites · ONNX object detection sample...
  35. [35]
    OnnxTransformer Class (Microsoft.ML.Transforms.Onnx)
    OnnxRuntime currently works on Windows and Ubuntu 16.04 Linux 64-bit platforms. Mac OS to be supported soon. Visit ONNX Models to see a list of readily ...
  36. [36]
    ML.NET 3.0 Boosts Deep Learning, Data Processing for .NET-Based ...
    Nov 28, 2023 · In v3.0, the object detection capabilities are boosted via integrations with TorchSharp and ONNX models, with Microsoft specifically noting ...<|separator|>
  37. [37]
    Building Smarter .NET Applications with ONNX ML Models
    Jan 16, 2023 · This 4 part series will outline how to consume your pre-trained models (Trained using TensorFlow & PyTorch) in a .NET, Uno Platform built application.
  38. [38]
    Make predictions with AutoML ONNX Model in .NET - Microsoft Learn
    Aug 28, 2024 · In this article, you learn how to use an Automated ML (AutoML) Open Neural Network Exchange (ONNX) model to make predictions in a C# console application with ...
  39. [39]
    Custom Machine Learning with ML.NET - Telerik.com
    Nov 13, 2019 · In this post, we look broadly at the capabilities of ML.NET, Microsoft's open source machine learning framework, compared to Azure Cognitives Services.
  40. [40]
    ML.NET Model Builder - machine learning in Visual Studio
    ML.NET Model Builder provides an easy to understand visual interface to build, train, and deploy custom machine learning models inside Visual Studio.
  41. [41]
    Releases · dotnet/machinelearning-modelbuilder - GitHub
    Nov 4, 2024 · Model Builder 16.17.0 (VS2019) and 17.17.0 (VS2022) Release · What's included in this release · New Features · Bug Fixes · May 6, 2019 - //build ...Missing: history | Show results with:history
  42. [42]
    ML.NET Tutorial - Get started in 10 minutes
    Step-by-step instructions for building a simple prediction model with ML.NET on Windows, Linux, or macOS. ML.NET is a machine learning framework for .NET.
  43. [43]
    ML.NET Update for Machine Learning Comes with New Visual ...
    Jan 10, 2019 · Microsoft today released an update to its ML.NET framework that includes new Visual Studio templates to help developers code their machine ...
  44. [44]
  45. [45]
    ML.NET - Integrating Machine Learning with .NET - NashTech Blog
    May 1, 2024 · In this article, we'll explore ML.NET, a powerful framework that seamlessly integrates machine learning capabilities into the .NET ecosystem.
  46. [46]
    Infer.NET - Microsoft Research
    Oct 15, 2008 · Infer.NET is a .NET library for machine learning. It provides state-of-the-art algorithms for probabilistic inference from data.
  47. [47]
    The Microsoft Infer.NET machine learning framework goes open ...
    Oct 5, 2018 · Infer.NET will become a part of ML.NET – the machine learning framework for .NET developers. We have already taken several steps towards ...
  48. [48]
    Microsoft Takes Infer.NET Machine Learning Framework to Open ...
    Oct 11, 2018 · According to Microsoft, along with open sourcing Infer.NET, it will no longer stand alone: "Infer.NET will become a part of ML.NET – the machine ...
  49. [49]
    Infer.NET game match-up app - probabilistic programming
    Sep 15, 2021 · Discover how to use probabilistic programming with Infer.NET to create a game match-up list app based on a simplified version of TrueSkill.
  50. [50]
    Infer.NET
    Infer.NET is a framework for running Bayesian inference in graphical models. It can be used to solve many different kinds of machine learning problems, ...
  51. [51]
    dotnet/infer: Infer.NET is a framework for running Bayesian ... - GitHub
    Infer.NET is a framework for running Bayesian inference in graphical models. It can also be used for probabilistic programming.
  52. [52]
    Why use ML.NET?
    Aug 11, 2024 · Using ML.NET you can analyze datasets, train models, evaluate model performance, generate new predictions, build generative AI applications, and ...
  53. [53]
    performance evaluation of ml.net vs. tensorflow.net for deep learning ...
    Apr 7, 2025 · This study presents a comparative performance evaluation of ML.NET and TensorFlow.NET in deep learning applications, focusing on model training time, inference ...
  54. [54]
    PyTorch and ML.NET Inference Performance Comparison - Dasha.AI
    Jan 25, 2021 · ML.NET and PyTorch. We've compared the performance of each framework by making inferences of the ResNet18 deep learning model.
  55. [55]
  56. [56]
    The Scope of Machine Learning (ML) in .NET - Programmers.io
    Apr 29, 2022 · ML.NET outperformed both other frameworks, proving to be more reliable on larger data sets and faster on smaller data sets.Missing: comparison | Show results with:comparison
  57. [57]
    .NET Vs. Python For Machine Learning Development | Zenkins
    Rating 4.9 (38) Jan 1, 2024 · Ultimately, the performance difference between the two may not be significant enough to outweigh the benefits of using Python's ML ecosystem.
  58. [58]
    C# ML.Net Image classification: Does GPU acceleration help ...
    Aug 28, 2020 · According to the tutorial I was following, GPU acceleration should be available for predictions, but I'm not seeing any significant differences in execution ...Missing: distributed | Show results with:distributed
  59. [59]
    How to optimize and run ML.NET models on scalable ASP.NET ...
    Mar 24, 2019 · The recommended way to deploy/run an ML.NET model into ASP.NET Core web apps or WebAPI services is by using the 'Microsoft.Extensions.ML' Integration package.
  60. [60]
    Model Training Using ML.NET and TensorFlow - A Comparison
    Nov 24, 2023 · It covers data processing, hyperparameter tuning, and deployment, offering scalability and cross-platform capabilities.
  61. [61]
    Unveiling the Power of ML.NET - NashTech Blog
    May 1, 2024 · ML.NET is built for performance and scalability, making it suitable for handling large datasets and complex machine learning tasks. Leveraging ...
  62. [62]
    HMRI uses the ML.NET framework for medical research - Microsoft
    By using ML.NET, HMRI removed the need to outsource development efforts and was able to use existing skills and resources to build everything in-house.
  63. [63]
    Power BI identifies key influencers using ML.NET - Microsoft
    Power BI uses ML.NET to help users identify key influencers and customer segments so that they can understand the factors that drive their business metrics.
  64. [64]
    endjin revolutionizes simple tasks with ML.NET - Microsoft
    Endjin has used ML.NET to improve their process of selecting and categorizing articles for their Azure newsletter. Using ML.NET and AutoML to generate machine ...
  65. [65]
    How ML.NET is used in real life - LinkedIn
    Apr 8, 2025 · This capability has many useful applications, such as deciding whether or not to save the sender's contacts in a CRM.
  66. [66]
    Does anyone actually use ML.NET? : r/dotnet - Reddit
    Jun 21, 2022Is ML.NET relevant? : r/dotnetwhat is the future of ML.NET? : r/dotnetMore results from www.reddit.com
  67. [67]
    Machine Learning Community Standup - Extending ML.NET
    Mar 17, 2021 · On this week's standup, our guest joins us to discuss ways of extending existing machine learning tasks in ML.NET Community Links: ...Missing: contributors | Show results with:contributors
  68. [68]
    dotnet/machinelearning-samples: Samples for ML.NET, an ... - GitHub
    In this GitHub repo, we provide samples which will help you get started with ML.NET and how to infuse ML into existing and new .NET apps.
  69. [69]
    mlnet possible memory leak #2497 - GitHub
    Feb 15, 2023 · I'm running a training command ( mlnet train --training-config redacted.mbconfig -v diag ) using linear regression and it's consuming unlimited ...
  70. [70]
    ML.NET Training Failure · Issue #2779 - GitHub
    Oct 6, 2023 · @LittleLittleCloud Seems to issues with Blanks or null values. Dataset had a row at the beginning and end the made the particular columns have ...<|control11|><|separator|>
  71. [71]
    ML.NET: can Microsoft's machine learning be trusted? - PVS-Studio
    Sep 8, 2022 · The analyzer detected two similar if statements with identical conditional expressions. The program terminates since the if block throws an ...Introduction · ML.NET error review · Incorrect order of arguments...Missing: criticisms | Show results with:criticisms
  72. [72]
    Having a problem building an ML.NET pipeline - Stack Overflow
    May 18, 2023 · I'm having a problem building an ML.Net pipeline. I've read through ALOT of Microsoft documentation, but I think the problem is I just don't ...
  73. [73]
    updating ML.NET Model Builder fails with this error (Microsoft Visual ...
    Feb 22, 2022 · 1- try to update ML.NET Model Builder extension in Extensions> manage extensions · 2- close VS · 3- VSIX opens and updates… · 4- get this message<|separator|>
  74. [74]
    Version problem between ML.NET and tensorflow models
    Apr 26, 2024 · I trained several ml.net models via image classification catalog and tensorflow models via colab.all models works satisfactory but i have a big problem.
  75. [75]
    Is ML.NET relevant? : r/dotnet - Reddit
    May 7, 2024 · Yes and no. There are 2 separate processes. One is to train model another to run inference (aka run in production).ML.NET. I've been working with .net frameworks and migrating to ...Does anyone actually use ML.NET? : r/dotnet - RedditMore results from www.reddit.com
  76. [76]
    ML.NET vs PyTorch | What are the differences? - StackShare
    ML.NET is a machine learning framework primarily targeting .NET development, offering ease of use and integration with the Microsoft ecosystem.
  77. [77]
    Reinforcement learning · Issue #181 · dotnet/machinelearning - GitHub
    May 17, 2018 · Reinforcement learning is not yet available in ML.NET. One critical component that is currently missing is exploration.Missing: challenges | Show results with:challenges
  78. [78]
    How TorchSharp can address the pain points of ~900 ML.NET ...
    Jul 9, 2021 · NET developers are doing the type of needed deep learning for .NET community, they will contribute to address the missing deep learning examples ...
  79. [79]
    what is the future of ML.NET? : r/dotnet - Reddit
    Jul 3, 2022Disadvantages of Neural Networks/Deep Learning - why are they ...90% of the truth about ML is inconvenient : r/learnmachinelearningMore results from www.reddit.comMissing: limitations | Show results with:limitations
  80. [80]
    Releases · dotnet/machinelearning - GitHub
    Feb 25, 2025 · ML.NET 3.0.0 Preview 2 Pre-release. Pre-release. ML.NET 3.0.0 Preview. New Features. Add the ability to use Object Detection using TorchSharp ...
  81. [81]
  82. [82]
    machinelearning/ROADMAP.md at main · dotnet/machinelearning
    ### Summary of ML.NET Roadmap (Planned Items, Priorities, Timelines)