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 ...
随机推荐
- 【pandas小技巧】--列值的映射
映射列值是指将一个列中的某些特定值映射为另外一些值,常用于数据清洗和转换. 使用映射列值的场景有很多,以下是几种常见的场景: 将字符串类型的列中的某些值映射为数字.例如,将"男"和 ...
- 如何在达梦数据库中追踪慢SQL
在达梦数据库中,我们可以通过开启日志记录和设置最小执行时间来追踪慢SQL.下面是具体的步骤: 1. 修改dm.ini文件 使用以下命令编辑dm.ini文件: cd /home/dmdba/dmdbms ...
- Jmeter MD5加密及其运用
常用的几种加密方式 内置函数__MD5加密 参数说明: String to calculate MD5 hash(必填):要加密的字符串 Name of variable in which to st ...
- 《Kali渗透基础》01. 介绍
@ 目录 1:渗透测试 1.1:安全问题的根源 1.2:安全目标 1.3:渗透测试 1.4:标准 2:Kali 2.1:介绍 2.2:策略 2.3:安装 3:Kali 初步设置 3.1:远程连接 3. ...
- API接口的研发与应用
API(Application Programming Interface,应用程序编程接口)指的是为不同的软件应用程序提供编程接口的一组协议.规则以及工具的集合,以便它们能够互相交互,实现数据通 ...
- Python colorama 设置控制台、命令行输出彩色文字
为了方便调试代码,经常会向stdout中输出一些日志,但是大量日志,有时不好定位问题. 使用终端打印特定颜色字符串,可以突出显示关键性的信息,帮助用户更好地识别和理解输出内容. https://pyp ...
- 代码检视的新姿势!在IDEA中得到沉浸式Code Review新体验
大家好,好久不见,又见面了. 在消失的这段时间里,我做了件大事,见证了儿子的出生并陪伴其一天天的成长.停止更文的200多天里,还能得到小伙伴们持续的支持,让我备受鼓励.对一个技术人员而言,分享技术观点 ...
- PGO in Go 1.21
原文在这里. 由 Michael Pratt 发布于 2023年9月5日 在2023年早些时候,Go 1.20发布了供用户测试的概要版本的基于性能分析的优化(PGO).经过解决预览版已知的限制,并得益 ...
- 如何创建集成 LSP 支持多语言的 Web 代码编辑器
对于一个云开发平台来说,一个好的 Web IDE 能很大程度地提高用户的编码体验,而一个 Web IDE 的一个重要组成部分就是代码编辑器. 目前有着多款 web 上的代码编辑器可供选择,比如 Ace ...
- Node.js 20 —— 几个令人大开眼界的特性
前言:欢迎来到 Node.js 20 Node.js 20 已经发布,带来了创新和激动人心的新时代.这个开创性的版本于2023年4月18日首次亮相,并将在2023年10月发布长期支持(LTS)版本,并 ...