Об этом проекте

ML.NET — это кроссплатформенный фреймворк машинного обучения с открытым исходным кодом, созданный для экосистемы .NET. Его главная ценность заключается в том, что он позволяет разработчикам .NET создавать, обучать, развертывать и использовать собственные модели машинного обучения непосредственно в своих приложениях без необходимости предварительного опыта в ML или знания других языков, таких как Python или R. Фреймворк включает полный конвейер: загрузку данных из файлов и баз данных, преобразование данных и библиотеку встроенных алгоритмов машинного обучения. Он поддерживает широкий спектр типичных сценариев, включая классификацию, прогнозирование и обнаружение аномалий. Помимо собственных тренеров, ML.NET также может использовать модели TensorFlow и ONNX, что расширяет набор поддерживаемых сценариев и делает фреймворк более расширяемым. Поддержка платформ обширна. ML.NET работает на Windows, Linux и macOS через .NET Core, а также на Windows через .NET Framework. Он также поддерживается на архитектурах ARM64, Apple M1 и Blazor WebAssembly, хотя для некоторых платформ существуют документированные ограничения. 64-битная архитектура поддерживается на всех платформах; 32-битная архитектура поддерживается на Windows, за исключением функциональности, связанной с TensorFlow и LightGBM. Распространение осуществляется через NuGet. Основной пакет — Microsoft.ML, который можно установить с помощью CLI .NET Core (`dotnet add package Microsoft.ML`), диспетчера пакетов NuGet (`Install-Package Microsoft.ML`), диспетчера пакетов Visual Studio или Paket. Ежедневные сборки также публикуются в фиде Azure DevOps. Для проекта требуется .NET Core 2.1 или новее, либо .NET Framework 4.6.1 или новее (рекомендуется версия 4.7.2+). Типичный рабочий процесс, представленный в README, выглядит следующим образом: создать MLContext, загрузить CSV-файл с помощью текстового загрузчика, построить конвейер обучения, который выполняет факторизацию текста и добавляет тренер бинарной классификации (FastTree), обучить модель, а затем создать движок предсказаний для оценки новых входных данных. В README есть ссылки на отдельный репозиторий с примерами (dotnet/machinelearning-samples) для полных примеров, а также на документацию, справочник API, руководства и плейлист на YouTube. Цикл релизов привязан к релизному поезду .NET: крупные релизы ML.NET выходят раз в год вместе с крупными релизами .NET (ML.NET 1.7 вместе с .NET 6 в ноябре 2021 года, ML.NET 2.0 вместе с .NET 7 и так далее), при этом ветки релизов поддерживаются для обслуживания. Покрытие CI охватывает CentOS, Ubuntu, macOS, Windows x64, Windows Full Framework, Windows x86 и Windows .NET Core 3.1, с конфигурациями Debug и Release. ML.NET распространяется под лицензией MIT, бесплатен для коммерческого использования и является проектом .NET Foundation. Проект приветствует вклад сообщества и имеет активное присутствие в Discord, а также проводит регулярные встречи .NET Machine Learning Community Standup.