微软开源ML.NET:一款跨平台、成熟的机器学习框架
消息来源:baojiabao.com 作者: 发布时间:2026-07-10

微软在Build 2018大会上兴奋地宣布了ML.NET的预览版,这是一种跨平台的开源机器学习框架。ML.NET将让广大.NET开发人员可以开发自己的模型,并且将自定义的机器学习融入到其应用程序中,无需之前拥有开发或调整机器学习模型方面的专业知识。
ML.NET最初是在微软研究中心开发而它的,在过去的十年已发展成为一种重要的框架;它用于微软的许多产品组合中,比如Windows、Bing和Azure等。
有了这第一个预览版,ML.NET能够支持诸多机器学习任务,比如说分类(比如文本分类和情绪分析)以及回归(比如趋势预测和价格预测)。除了这些机器学习功能外,ML.NET的这第一个版本还引入了训练模型的.NET API初稿,使用模型用于预测,还包括该框架的核心组件,比如学习算法、转换和核心的机器学习数据结构。
ML.NET首先是一个框架,这意味着它经扩展后可以添加流行的机器学习库,比如TensorFlow、Accord.NET和CNTK。我们致力于将开发ML.NET的内部功能方面的全部经验带给开源界的ML.NET。
综上所述,ML.NET代表了我们致力于通过.NET让机器学习变得很出色。
随着时间的推移,ML.NET将充分利用流行的深度学习库(比如TensorFlow、Caffe2和CNTK)以及一般的机器学习库(比如Accord.NET),从而支持其他机器学习场景,比如推荐系统、异常检测及其他方法(比如深度学习)。
ML.NET还允许采用代码优先的方法,补充了Azure机器学习和认知服务提供的体验,并支持应用程序本地部署以及自行构建模型的功能。
ML.NET核心组件
ML.NET作为.NET Foundation的一部分而发布;今天的代码仓库包含用于模型训练和使用的.NET C# API,以及许多常见的机器学习任务(如回归和分类)所需要的各种转换和学习器。
ML.NET旨在提供E2E工作流程,以便在预处理、特征工程、建模、评估和操作化等过程中将机器学习融入到.NET应用程序中。
ML.NET本身支持机器学习各方面所需要的类型和运行时环境,包括核心数据类型、可扩展流水线、高性能数学、面向异构数据的数据结构和工具支持等。
下面这张表显示了作为ML.NET 0.1的一部分发布的完整组件列表。
我们旨在让ML.NET的API具有通用性,那样CNTK、Accord.NET和TensorFlow等其他框架以及其他库就可以通过单一的共享式API来加以使用。
安装入门
想开始使用ML.NET,请使用下列命令从CLI来安装ML.NETNuGet:
从软件包管理器来安装:
您可以直接从https://github.com/dotnet/machinelearning来构建框架。
借助ML.NET实现情绪分类
训练您自己的模型
这个简单的代码片段用来训练情绪分类模型(完整的代码片段可在此:https://github.com/dotnet/machinelearning/blob/master/test/Microsoft.ML.Tests/Scenarios/Scenario3_SentimentPrediction.cs找到)。
让我们更详细地讨论这个方面。我们创建了一个LearningPipeline,它将负责封装数据载入、数据处理/特征化和学习算法。这些是训练机器学习模型所需要的几个步骤,该模型让我们得以拿来输入数据后输出预测结果。
这条流水线的第一部分是TextLoader,它将来自我们训练文件的数据载入到流水线。然后,我们使用TextFeaturizer将SentimentText列转换成名为Features的数字向量,该数字向量可以被机器学习算法所使用(因为它无法接受文本输入)。这是我们的预处理/特征化步骤。
FastTreeBinaryClassifier是我们将用于该流水线中的决策树学习器。就像特征化步骤那样,尝试ML.NET中不同的学习器并更改其参数有望找到更好的结果。 PredictedLabelColumnOriginalValueConverter将模型的预测标签转换回成原始值/格式。
pipeline.Train()训练流水线(载入数据、训练特征器和学习器)。直到这一步发生后,才执行试验。
将经过训练的模型用于预测
为了得到预测结果,我们对新数据使用model.Predict()。请注意,输入数据是一个字元串,模型包含特征化,所以我们的流水线在训练和预测期间都保持同步。我们不必编写专门用于预测的预处理/特征化代码。
前方的道路
我们渴望将许多功能添加到ML.NET中,但我们很想了解哪些功能最适合您的要求。目前我们正在探索的领域包括:
另外的机器学习任务和场景
使用TensorFlow和CNTK的深度学习
ONNX支持
在Azure上横向扩展
更好的GUI,以简化机器学习任务
与VS工具集成,用于AI
针对.NET的语言创新
相关文章
B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09
科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯2023-02-17 18:46:15
华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比2023-02-17 18:42:49
小米MAX4手机上市日期首发价格 骁龙720打造大屏标准2023-02-17 18:37:22
武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱2023-02-16 15:53:18
谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠2023-02-16 13:34:45
巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注2023-02-13 16:49:06
人手不足 韵达快递客服回应大量包裹派送异常没有收到2023-02-07 15:25:20
资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东2023-02-02 09:24:38
三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办2023-01-24 10:10:02
华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone142023-01-06 20:27:09
芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?2022-12-02 17:25:17
华为暂缓招聘停止社招了吗?官方回应来了2022-11-19 11:53:50
热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全2022-11-16 16:59:09
东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?2022-10-22 15:21:55
苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次2022-10-03 22:13:45
苹果美版iPhone可以在中国保修 从哪看怎么查询iPhone的生产日期?2022-09-22 10:00:07










