Microsoft представила очередное обновление своего фреймворка для машинного обучения — ML.NET 0.6. Он обзавёлся новыми API, способностью получать результаты работы предуобученных моделей формата ONNX, а также перешёл на стандартную систему типов, принятую в .NET.
Новые API в ML.NET 0.6
Разработчики создали более гибкие и простые Estimators API на замену LearningPipeline API, который перешёл в пространство имён Microsoft.ML.Legacy. Новые инструменты поддерживают более широкий набор сценариев и строже придерживаются принципов машинного обучения.
Объект estimator
входит в пять основных высокоуровневых концепций машинного обучения, сформированных командой ML.NET. Он учится на данных и выдает объект transformer
— результат обучения, тот компонент, который трансформирует входные данные.
Поддержка ONNX
В релизе ML.NET 0.3 разработчики добавили поддержку экспорта моделей в формат ONNX. В октябрьском выпуске фреймворк получил возможность передавать данные некой существующей предобученной ONNX-модели и получать результат её работы.
.Append(row => (row.name, softmaxout_1: row.data_0.ApplyOnnxModel(modelFile)));
Эта функция работает только на 64-разрядной Windows. Поддержка Linux и macOS пока в разработке.
Эффективность ML.NET 0.6
- Упрощена работа с TensorFlow и добавлена поддержка моделей сохранённых форматов.
- Ускорена работа с API.
- Реализован переход на стандартную систему типов .NET.
Вчера, 8 октября 2018 года, Microsoft опубликовала исходный фреймворка Infer.NET, помогающего создавать алгоритмы машинного обучения. По словам разработчиков, компания работает над тем, чтобы включить этот инструмент в семейство ML.NET.
Source: блог .NET