当地时间 5 月 7 日,微软 Build 大会在美国西雅图召开,会上微软针对开发者发布了一系列新产品。在这一系列产品发布的同时,微软同时宣布开源机器学习框架——ML.NET。利用 ML.NET,开发人员可以直接上手已有的模型,无需具备开发或调节机器学习模型的专业知识。
ML.NET 是一个跨平台框架,可以允许 .NET 开发人员开发专属模型,并在他们的应用程序中注入定制的机器学习能力,开发人员不需要具备开发或调节机器学习模型的专业知识。
ML.NET 由微软研究院研发,在过去的十年里发展成为一个重要的框架,它在微软的许多产品团队中都有使用,比如 Windows、必应、Azure 等等。
在这次发布的预览版中,ML.NET 支持分类(例如文本分类、情感分析)、回归(例如预测、价格预估)等机器学习任务。
除了宣布支持以上任务,微软一并发布了用于训练模型、进行预测的 .NET API 的初稿,此外还有这一框架的核心组成部分,比如学习算法、转换和核心机器学习数据结构。
大家请注意,ML.NET 是一个框架,这意味着它可以扩展,可以将 TensorFlow、Accord.NET 和 CNTK 这样的流行机器学习库添加进去。在 ML.NET 开源生态中,微软致力于让它的内部功能更加完善,ML.NET 可以为 .NET 开发者带来更优化的机器学习开发体验。
大家可以加入 ML.NET 开源社群,让这一工具在未来迎来更迅猛的发展。GitHub 地址如下:
https://github.com/dotnet/machinelearning
随着不断发展,ML.NET 将会不断增加对流行深度学习库如 TensorFlow、Caffe2、CNTK 和一般深度学习库如 Accord.NET 的支持,其功能可以扩展到其他的机器学习场景,如推荐系统、异常检测和其他深度学习方法。
ML.NET 还增加了 Azure Machine Learning 和 Cognitive Service 的一些已有经验,它允许使用代码优先的方法,支持本地应用程序部署,让用户能构建自己的模型。
下面是关于 ML.NET 的更多细节:
ML.NET Core Components
ML.NET 是作为 .NET Foundation 的一部分推出的,repo 中包含了训练和消耗模型的 .NET C# API,还有各种各样的 transform,以及许多流行的机器学习任务,如回归和分类。
ML.NET 的目标是提供 E2E 工作流,通过预处理、特征工程、建模、评估和操作,将深度学习能力添加进 .NET 应用程序。
下面的表格是 ML.NET 0.1 所发布的完整组件列表。
微软表示,他们的目标是使 ML.NET 的 API 变得通用,这样就可以通过一个共享 API 使用 CNTK、Accord.NET、TensorFlow 等框架和其他库。
大家目前可以安装 ML.NET,体验目前已有的一系列功能,具体信息可以参见: