首页 > 其他分享 >ML.NET 3.0 增强了深度学习和数据处理能力

ML.NET 3.0 增强了深度学习和数据处理能力

时间:2023-12-05 20:13:46浏览次数:39  
标签:TorchSharp ML 学习 3.0 NET Microsoft

.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 助手提供支持。

image

深度学习

深度学习是机器学习的一个子集,使用松散地类似于人脑行为的人工神经网络,以便从大量数据甚至非结构化数据等输入中“学习”。深度学习场景在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,


相关链接

标签:TorchSharp,ML,学习,3.0,NET,Microsoft
From: https://www.cnblogs.com/shanyou/p/17878059.html

相关文章

  • ADO.NET组成
    SqlConnection(数据库连接器)SqlCommand(数据库命名对象)SqlCommandBuilder(生存SQL命令)SqlDataReader(数据读取器)SqlDataAdapter(数据适配器填充DataSet)SqlParameter(为存储过程定义参数)SqlTransaction(数据库事物) Connection连接对象Connection对象也称为数据库连接对象,Connec......
  • HTML学习笔记四:html-body-行内元素
    HTML学习笔记四:body元素行内元素MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/metabody中元素分类块级元素行内元素行内元素行内元素区别于块级元素,不会独占一行,一个行内元......
  • HTML学习笔记五:html-body-form表单
    HTML学习笔记五:html-body-form表单MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/meta表单元素在网页中,如果需要向web服务器提交用户输入的信息时候,需要用到form表单进行提交。......
  • HTML学习笔记六:html-body-框架元素
    HTML学习笔记六:html-body-框架元素MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/meta框架标签iframe可以通过使用iframe标签在当前页面的框架内嵌入一个外部链接的网页。可用......
  • HTML学习笔记七:html-字符实体和全局属性
    HTML学习笔记七:html-字符实体和全局属性MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/meta字符实体用特定代码来表示一个符号,即为字符实体。字符实体格式:以&开头以;结尾......
  • HTML学习笔记二:html-head内元素
    HTML学习笔记二:head内元素MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/metatitle标题元素用于定义文档的标题,此标题显示在标题栏或者标签栏上,一般为纯文本。<title>网页标题<......
  • HTML学习笔记三:html-body-块级元素
    HTML学习笔记三:body元素块级元素MDN元素查询地址所有的html的元素我们都可以通过以下地址进行相关的查询和理解。https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/metabody中元素分类块级元素又称为块元素,独占一行,宽默认与body一致,高度由内容撑开,无内容默认为1......
  • HTML学习笔记一:html简介和基本结构
    HTML学习笔记一一、什么是HTML?众所众知,我们打开的网页是一个一个的HTML,网页静态的结构是由html完成,而各式各样的表现样式是由css完成,至于网页与服务器之间的交互行为则都交给了javascript完成。HTML和CSS本质都是结构化、标准化的语言,用于定义页面结构,样式渲染。不得不提的就是......
  • .Net各版本的区别
    简介:.NET是一个跨平台的开发框架,它提供了一系列工具和库,用于开发各种类型的应用程序。在不同的.NET版本之间,存在一些区别和改进。下面是几个常见的.NET版本及其主要区别的概述:.NETFramework:.NETFramework是最早发布的.NET版本,它主要用于Windows桌面应用程序和We......
  • ADO.Net DataAccess 常用方法ExecuteNonQuery ExecuteReader ExecuteDataSet
    1///<summary>2///Standardinterfacefordataaccessusingstoredprocedures3///</summary>4publicinterfaceIDataAccess5{6stringConnectionString{get;set;}7SqlConnectionCreateConnecti......