À propos du projet

ML.NET est un framework d'apprentissage automatique open-source et multiplateforme conçu pour l'écosystème .NET. Sa valeur fondamentale est de permettre aux développeurs .NET de créer, entraîner, déployer et utiliser des modèles d'apprentissage automatique personnalisés dans leurs applications, sans nécessiter d'expertise préalable en ML ni de maîtrise d'autres langages comme Python ou R. Le framework regroupe l'ensemble du pipeline : chargement de données à partir de fichiers et de bases de données, transformations de données et une bibliothèque d'algorithmes de ML intégrés. Il prend en charge divers scénarios courants, notamment la classification, la prévision et la détection d'anomalies. Au-delà de ses entraîneurs natifs, ML.NET peut également consommer des modèles TensorFlow et ONNX, ce qui élargit l'éventail des scénarios pris en charge et rend le framework plus extensible. La prise en charge des plateformes est large. ML.NET fonctionne sur Windows, Linux et macOS via .NET Core, et sur Windows via .NET Framework. Il fonctionne également sur ARM64, Apple M1 et Blazor WebAssembly, avec certaines limitations documentées. La version 64 bits est prise en charge sur toutes les plateformes ; la version 32 bits l'est sur Windows, sauf pour les fonctionnalités liées à TensorFlow et LightGBM. La distribution se fait via NuGet. Le package principal est Microsoft.ML, installable via l'interface CLI .NET Core (`dotnet add package Microsoft.ML`), le gestionnaire de packages NuGet (`Install-Package Microsoft.ML`), le gestionnaire de packages de Visual Studio ou Paket. Des versions quotidiennes sont également publiées sur un flux Azure DevOps. Le projet nécessite .NET Core 2.1 ou version ultérieure, ou .NET Framework 4.6.1 ou version ultérieure (4.7.2+ recommandé). Un flux de travail typique est présenté dans le README : créer un MLContext, charger un CSV avec un chargeur de texte, construire un pipeline d'apprentissage qui featurise le texte et ajoute un entraîneur de classification binaire (FastTree), ajuster le modèle, puis créer un moteur de prédiction pour évaluer de nouvelles entrées. Le README renvoie vers un dépôt d'exemples séparé (dotnet/machinelearning-samples) pour des exemples complets, ainsi que vers la documentation, la référence API, des tutoriels et une playlist YouTube. Le rythme de publication est lié au cycle de publication .NET : les versions majeures de ML.NET sortent une fois par an en même temps que les versions majeures de .NET (ML.NET 1.7 avec .NET 6 en novembre 2021, ML.NET 2.0 avec .NET 7, etc.), avec des branches de maintenance pour les correctifs. La couverture CI comprend CentOS, Ubuntu, macOS, Windows x64, Windows Full Framework, Windows x86 et Windows .NET Core 3.1, avec des configurations Debug et Release. ML.NET est sous licence MIT, libre d'utilisation commerciale, et est un projet de la .NET Foundation. Le projet accueille les contributions et dispose d'une communauté active sur Discord ainsi qu'un rendez-vous récurrent de la communauté .NET Machine Learning.