ML.Net, le framework open source d'apprentissage machine de Microsoft est destiné aux développeurs .Net qui souhaitent exécuter des tâches de machine learning courantes dans des environnements multiplateformes. Annoncé pour la première fois en mai 2018 lors de la conférence Build de Microsoft, le framework ML.Net permet aux développeurs .Net de créer des modèles pour des tâches spécifiques utilisables par les applications .Net via des API de haut niveau pour l’apprentissage de modèles et l’exécution de tâches prédictives. La première version de ML.Net ne comprenait que deux tâches d'apprentissage machine basiques : la classification et la régression. La classification est utilisée pour catégoriser les données, par exemple différencier les spams des courriels légitimes ou pour l'analyse des sentiments. Quant à la régression, elle sert à effectuer des prédictions sur des données numériques, par exemple suivre l’évolution des prix.
La dernière version bêta 0.4 de ML.Net s’enrichit du support d'autres tâches, dont le traitement du langage naturel. Et Microsoft ne va pas s’en tenir là puisque l’éditeur compte ajouter à ML.Net le support de nombreuses tâches, dont certaines seront directement intégrées au framework. De plus, des API de haut niveau permettront de piloter des frameworks existants comme TensorFlow de Google ou CNTK de Microsoft (alias Cognitive Toolkit).
Les langages F# et C# mieux supportés
À long terme, c’est à dire avant la sortie de la version 1.0, Microsoft envisage de se passer l'API « pipeline » actuelle - c'est sous ce nom qu'il la désigne - et de la remplacer par une autre API plus facile à utiliser. Mais l'éditeur de Redmond ne cherche pas seulement à simplifier l’utilisation de ML.Net. Le design du framework étant intrinsèquement multiplateforme, il supporte actuellement les versions Windows (serveur et desktop), Linux et MacOS de .Net Core 2. De la même manière, ML.Net est destiné à compléter les fonctionnalités disponibles dans la famille de langages .Net, même si tout ce travail n'est pas encore terminé. Par exemple, la version 0.4 supporte mieux les éléments du langage F# et certaines fonctions analogues de C#.
La version 0.4 de ML.Net est téléchargeable sur GitHub. Des exemples d'applications comprenant des données d’apprentissage sont disponibles dans le référentiel du projet.