ML.NET 3.0 增强了深度学习和数据处理能力
.NET团队在 2023.11.28 在博客上正式发布了 ML.NET 3.0::https://devblogs.microsoft.com/dotnet/announcing-ml-net-3-0/[1],强调了两个主要的兴趣点,即深度学习和数据处理,使开发人员能够完全在 .NET 生态系统中创建注入 AI 的应用程序。开源 ML.NET 框架[2]的主要卖点,旨在帮助开发人员能够使用C#和F#构建自定义ML模型并将其集成到应用程序中。这是通过命令行 (CLI) 和模型生成器等工具完成的,或者创建像大型语言模型 (LLM) 这样的结构来完成,这些模型为 ChatGPT 和 无处不在的“Copilot”AI 助手提供支持。

深度学习
深度学习是机器学习的一个子集,使用松散地类似于人脑行为的人工神经网络,以便从大量数据甚至非结构化数据等输入中“学习”。深度学习场景在v3.0版本中得到了大幅扩展,在三个领域具有新功能:对象检测、命名实体识别和问答。
ML.NET 3.0 中的对象检测是一种高级形式的图像分类,它不仅可以对图像中的实体进行分类,还可以对它们进行定位,因此非常适合图像包含多个不同类型的对象的场景。在v3.0中,通过与TorchSharp和ONNX模型的集成,对象检测功能得到了提升,Microsoft特别指出了TorchSharp支持的对象检测API。这些代表了在 ML.NET 框架内利用深度学习技术的重要一步。
对象检测API的底层技术包括微软研究院开发的基于Transformer的神经网络架构技术。这种方法表明了深度学习的现代趋势,特别是在计算机视觉方面。
TorchSharp 还有助于增强命名实体识别和问答,这两个常见的 ML 领域是自然语言处理 (NLP)的一部分。在 ML.NET 3.0 中,通过利用之前引入的 TorchSharp RoBERTa 文本分类功能,解锁了这两种方案的增强功能。“NER和QA训练器都包含在 Microsoft.ML.TorchSharp 3.0.0包[3]和命名空间Microsoft.ML.TorchSharp中。
数据处理
数据处理方面主要是通过对 DataFrame(一种用于存储和操作数据的结构)以及新的 IDataView 互操作性功能的许多增强功能和 bug 修复,改进了方案。加载、检查、转换和可视化数据的重要步骤要强大得多。
具体注意事项包括:
- 增强的 <-> 转化:
IDataViewDataFrame添加了对 ReadOnlyMemory<char>和 VBufferDataFrameColumn<T>列类型的支持,其中的值作为并支持所有支持基元。 - 增加列数据容量:列现在可以存储超过 2 GB 的数据,从而消除了以前的限制。
- Apache Arrow 集成:识别 Apache Arrow 的
Date64列数据。 - 扩展的数据加载功能:包括使用 ADO.NET 的 SQL 数据库的导入和导出功能。此外,可以从任何
IEnumerable集合加载数据并将其导出到System.Data.DataTable. - 在 DataFrame 之间追加数据:当
DataFrame列名匹配时,允许将数据从一个追加到另一个,从而放宽了对列顺序的约束。 - 重复列名的处理:
DataFrame.LoadCsv增强了管理重复列名的功能,提供了重命名它们的选项。 - 改进了算术性能和空值处理:列克隆、二进制比较方案和算术运算的优化。
- 调试器增强功能:调试器中具有长名称的列的可读性更好。
Microsoft还指出了新的张量基元集成,它们不会直接影响开发任务,但确实提供了显着的性能改进。AutoML 可自动将机器学习应用于数据的过程,也得到了增强,增强了模型生成器和 ML.NET CLI 中的相关体验。
有关上述所有更改和其他更改的更多信息,请参见 发行说明[4] .
展望未来,开发团队现在正在制定 .NET 9 和 ML.NET 4.0 的计划,模型生成器和 ML.NET CLI 预计将更快地更新,以便使用 ML.NET 3.0 版本。继续扩展深度学习场景和集成,我们将继续增强DataFrame,
相关链接
[1] Announcing ML.NET 3.0:https://devblogs.microsoft.com/dotnet/announcing-ml-net-3-0/
[2]开源 ML.NET 框架: https://github.com/dotnet/machinelearning
[3]Microsoft.ML.TorchSharp 3.0.0包: https://www.nuget.org/packages/Microsoft.ML.TorchSharp/3.0.0
[4]ML.NET 发行说明:https://github.com/dotnet/machinelearning/blob/main/docs/release-notes/3.0/release-3.0.0.md
ML.NET 3.0 增强了深度学习和数据处理能力的更多相关文章
- 深度学习_1_Tensorflow_2_数据_文件读取
tensorflow 数据读取 队列和线程 文件读取, 图片处理 问题:大文件读取,读取速度, 在tensorflow中真正的多线程 子线程读取数据 向队列放数据(如每次100个),主线程学习,不用全 ...
- 深度学习中数据的augmentation
为了提高模型的泛化能力,同时也为了增大数据集,我们往往需要对数据进行augmentation,在这篇博客中,将总结一下可以对数据进行的augmentation. 1.颜色数据增强,对图像亮度.饱和度. ...
- Pytorch1.0深度学习:损失函数、优化器、常见激活函数、批归一化详解
不用相当的独立功夫,不论在哪个严重的问题上都不能找出真理:谁怕用功夫,谁就无法找到真理. —— 列宁 本文主要介绍损失函数.优化器.反向传播.链式求导法则.激活函数.批归一化. 1 经典损失函数 1. ...
- paper 53 :深度学习(转载)
转载来源:http://blog.csdn.net/fengbingchun/article/details/50087005 这篇文章主要是为了对深度学习(DeepLearning)有个初步了解,算 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 如何使用深度学习破解验证码 keras 连续验证码
在实现网络爬虫的过程中,验证码的出现总是会阻碍爬虫的工作.本期介绍一种利用深度神经网络来实现的端到端的验证码识别方法.通过本方法,可以在不切割图片.不做模板匹配的情况下实现精度超过90%的识别结果. ...
- 深度学习常用数据集 API(包括 Fashion MNIST)
基准数据集 深度学习中经常会使用一些基准数据集进行一些测试.其中 MNIST, Cifar 10, cifar100, Fashion-MNIST 数据集常常被人们拿来当作练手的数据集.为了方便,诸如 ...
- 教你如何挑选深度学习GPU【转】
本文转载自:https://blog.csdn.net/qq_38906523/article/details/78730158 即将进入 2018 年,随着硬件的更新换代,越来越多的机器学习从业者又 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(下)
转载:http://www.jianshu.com/p/b73b6953e849 该资源的github地址:Qix <Statistical foundations of machine lea ...
- 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
随机推荐
- 使用 SQL 的方式查询消息队列数据以及踩坑指南
背景 为了让业务团队可以更好的跟踪自己消息的生产和消费状态,需要一个类似于表格视图的消息列表,用户可以直观的看到发送的消息:同时点击详情后也能查到消息的整个轨迹. 消息列表 点击详情后查看轨迹 原理介 ...
- 拼多多根据ID取商品详情 API 返回值说明
item_get-根据ID取商品详情 注册开通 pinduoduo.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) se ...
- DesignPattern-part3
title: "modern C++ DesignPattern-Part3" date: 2018-04-12T19:08:49+08:00 lastmod: 2018-04-1 ...
- Elasticsearch之常用术语
一. 数据库和ES简单类比 关系型数据库 表(Table) 行(Row) 列(Cloumn) Schema SQL Elasticsearch 索引(Index) 文档(Document) 字段(Fi ...
- CEMS大学生综合测评管理系统
功能介绍 登录 首页 修改密码 提交申请 提交列表 数据可视化 审核列表 前端 components结构 搭建Vue项目 Vue3快速上手: https://cn.vuejs.org/guid ...
- Mysql优化篇-索引优化与查询优化
1.索引失败案列 如果查询时没有使用索引,查询语句就会扫描表中所有记录,在数据量大的情况下,查询会很慢. (1)全值匹配 (2)最佳左前缀法则 mysql可以为多个字段创建索引,一个索引可以包括16个 ...
- 【Python爬虫】python打印本地代理
在进行网络爬虫时,使用代理是非常重要的.因为爬虫经常会被网站封 IP,而代理可以隐藏你的真实 IP 地址,让你可以更不受限制地爬取数据.本文将介绍如何在 Python 中打印代理,包括代理 IP 的使 ...
- linux下查找文件中某字符串出现的行以及该行前后n行
linux下查找文件中某字符串出现的行以及该行前后n行 查找指定字符串的前后n行 grep -A 100 -B 100 "要查找的字符串" 被查找的文件 -A after 后面 - ...
- 解决Dependency 'fastdfs-client-java’not found
如何能把 fastdfs的jar包安装到本地的仓库中(因为中央仓库没有FASTDFS的jar包地址) 1.首先去github上下载下来fastdfs的压缩包 下载链接 然后直接解压出来 2.使用cmd ...
- TOP GP 把已经编译的per反编回对应版本的4fd(画面档)
由于GP5.1,5.2,5.3的genero对应版本画面档开发互不兼容,下面提供各版本之间互转的操作方法: xshell切换到要反编译的per档目录,执行以下命令,就会在同目录下生成对应4fd档资料 ...