ML.NET 1.4 发布,跨平台机器学习框架

ML.NET 是一个面向 .NET 开发人员的开源和跨平台机器学习框架,它包括 Model Builder 和 CLI(命令行接口),让使用自动机器学习(AutoML)构建自定义机器学习模型变得更容易。1.4 版本已经发布了,以下是本次更新的一些亮点:

基于 GPU 支持的深度神经网络图像分类(GA)

640?wx_fmt=png

在 .NET 中实现完整的 DNN 模型重新训练和传输学习。例如,你可以通过使用自己的图像从 ML.NET API 中本地培训 TensorFlow 模型来创建自己的自定义图像分类模型。ML.NET 的优点是使用了一个非常简单的高级 API,只需使用几行 C# 代码就可以定义和训练图像分类模型。而在使用低级别 Tensorflow.NET 库时,相同的操作则需要数百行代码。

Tensorflow.NET 库是一个开源的低级别 API 库,该库是开源 SciSharp 堆栈库的一部分,它为 TensorFlow 提供 .NET 标准绑定。下面的堆栈图显示了 ML.NET 是如何在 DNN 培训中实现这些新特性的:

图像分类功能最初是在 v1.4 预览版中引入的,在 GA 版本中添加了一下新功能:

  • 在 Windows 和 Linux 上支持 GPU,GPU 支持是基于 NVIDIA CUDA

  • 内存图像预测:用内存中的图像而不是文件路径来做预测

  • 当达到最佳精度时,它将停止训练,并且不会随着更多的训练周期(EIPCHS)而进一步提高

  • 在图像分类器中添加其他支持的 DNN 体系结构:Inception V3、ResNet V2 101、Resnet V2 50 和 Mobilenet V2

下面的 API 代码示例展示了如何轻松地训练一个新的 TensorFlow 模型:

// Define model's pipeline with ImageClassification defaults (simplest way)
var pipeline = mlContext.MulticlassClassification.Trainers.ImageClassification(featureColumnName: "Image",labelColumnName: "LabelAsKey",validationSet: testDataView).Append(mlContext.Transforms.Conversion.MapKeyToValue(outputColumnName: "PredictedLabel",inputColumnName: "PredictedLabel"));// Train the model
ITransformer trainedModel = pipeline.Fit(trainDataView);

Database Loader(GA)

640?wx_fmt=png

数据库加载器允许将数据库中的数据加载到 IDataView 中,因此可以直接针对关系数据库进行模型培训。此加载程序支持 .NET Core 或 .NET Framework 中 System.Data 支持的任何关系数据库提供程序,这意味着可以使用任何 RDBMS,如 SQL Server、Azure SQL、Oracle、SQLite、PostgreSQL、MySQL、Advanced 等。

这个新的 Database Loader 提供更加简化的代码实现,因为它从数据库读取数据并通过 IDataView 提供数据的方式是由 ML.NET 框架提供的,所以只需要指定数据库连接字符串、DataSet 列的 SQL 语句以及加载数据时要使用的数据类。

下面是示例代码,说明如何轻松地配置代码,以便将数据直接从关系数据库加载到 IDataView 中:

//Lines of code for loading data from a database into an IDataView for a later model training
//...
string connectionString = @"Data Source=YOUR_SERVER;Initial Catalog= YOUR_DATABASE;Integrated Security=True";string commandText = "SELECT * from SentimentDataset";DatabaseLoader loader = mlContext.Data.CreateDatabaseLoader();
DbProviderFactory providerFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");
DatabaseSource dbSource = new DatabaseSource(providerFactory, connectionString, commandText);IDataView trainingDataView = loader.Load(dbSource);// ML.NET model training code using the training IDataView
//...public class SentimentData
{public string FeedbackText;public string Label;
}

当使用数据库 ML.NET 进行培训时也支持数据流,这意味着整个数据库不需要装入内存,它将根据需要从数据库中读取,从而可以处理非常大的数据库(即 50 GB、100 GB 或更大的数据库)。

可伸缩部署的预测引擎库(GA)

当将 ML 模型部署到多线程和可伸缩的 .NET Core Web 应用程序和服务(例如 ASP .NET Core Web 应用程序、Web API 或 Azure 函数)中时,推荐使用PredictionEnginePool,不针对每个请求直接创建 PredictionEngine 对象,PredictionEnginePool 是 Microsoft.Extensions.MLNuGet 包的一部分。

增强 .NET Core 3.0(GA)

在 Jupyter notebooks 中使用 ML.NET

640?wx_fmt=png

现在可以在 Jupyter notebooks 中运行任何 .NET 代码(C#/F#),因此也可以在其中运行 ML.NET 代码。

查看 DataView 中加载的类型数据:

640?wx_fmt=png

绘制数据分布:

640?wx_fmt=png

培训 ML.NET 模型并记录其培训时间:

640?wx_fmt=png

可在 notebook 中看到模型的质量指标,并将其记录下来供以后审查:

640?wx_fmt=png

Visua lStudio 中 Model Builder 的更新

Visual Studio 的 Model Builder Tool 已经更新,使用最新的 ML.NET GA 版本(1.4 GA),此外,它还包括新特性,例如 Visual Studio 中的可视化体验,用于本地图像分类模型训练。

关于 ML.NET 的更多详情,请见发布说明:

https://devblogs.microsoft.com/dotnet/announcing-ml-net-1-4-global-availability-machine-learning-for-net/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用ASP.NET Core 3.x 构建 RESTful API - 2. 什么是RESTful API

1. 使用ASP.NET Core 3.x 构建 RESTful API - 1.准备工作什么是REST REST一词最早是在2000年,由Roy Fielding在他的博士论文《Architectural Styles and the Design of Network-based Software Architecture》中提出的。他在本文中创造了REST这个术语。这篇论文的地…

Visual Studio Online 的 FAQ:iPad 支持、自托管环境、Azure 账号等

iPad 支持 目前,Web 版 VS Code 只支持基于 Chromium 的浏览器,还不支持 iPad 上的浏览器。但对于 Safari 的支持,是 Visual Studio Online 团队的一件高优先级的任务。更多详情,可以关注: https://github.com/Microso…

2019 .NET China Conf之我逛魔都

趁着参加首届.NET开发者峰会之际,我也是第一次到上海,因此也趁机逛了一下大魔都,和你分享一波我在魔都拍的照片组。酒店所在地:邮电新村地铁站附近为何选择这里?因为离会场酒店6个地铁站,离南京东路和外滩半…

参加首届中国 .NET 开发者峰会有感

参加首届中国 .NET 开发者峰会有感Intro很高兴能够有机会参加首届中国 .NET 开发者峰会,与从全国各地赶来上海参加活动的 .NETer 一起参与这空前的 .NET 的盛会。大会有许多从外地过来参加的开发者们,也有些讲师也是从外地赶过来为我们分享,特…

推荐一款神器-VBAC#代码编辑管理器

网名:liucqa,OFFICE开发领域真大牛,比ExcelHome所有版主和所有出OFFICE开发类书籍的人都要牛的人,出品了它的大作,给大家推荐使用。特色功能:C#&VBA代码格式化/代码收藏/高亮语法详细介绍说明如下&…

【.NET Core 3.0】 46 ║ 授权认证:自定义返回格式

前言哈喽大家好,马上就要年末了,距离新的一年,只有50天了,春节是75天。在这个时节内,天气逐渐变凉,但是大家的心肯定很热吧,因为发生了两件大事:1、双十一买买买,在这个让…

.NET Core 如何生成真正的ICO图标

点击上方蓝字关注“汪宇杰博客”导语前一阵我终于完成了博客系统动态生成favicon的功能。众所周知,favicon肯定有一个ico格式的图标,其余可以用 png manifest 的方式输出。然而这个ICO格式让我小收福报,今天就给大家分享一下解决办法。.NET自…

Visual Studio Online 东半球首秀,亮相 .NET Conf 2019 中国峰会

佷高兴能参加 .NET Conf 并演讲。看到 NET 社区这么活跃,也是非常开心!这次我演讲的主题是《Visual Studio Code —— .NET 开发利器》。找找我在哪?更多关于 Visual Studio Online 的四种开发模式,可以阅读这篇文章:最…

.NET Core 3.0 部署在docker上运行

自从.NET Core3.0发布之后,写了几篇关于.NET Core 3.0的文章,有助于你快速入门.NET Core3.0。本篇文章主要讲解如何一步步创建一个mvc项目,然后发布并部署在Docker上运行。需要你本地有docker环境1.创建一个站点创建一个ASP.NET Core Web应用…

2019 .NET China Conf:路一直都在,社区会更好

这个周末,我从成都飞到了上海参加了首届由社区组织而非官方(比如Microsoft)组织的.NET开发者峰会(.NET Conf)。为此,我特意请了两天的假(周五周六,对,我们是大小周&#…

“开源、共享、创新”, 中国最具前景开发者峰会落幕魔都

点击蓝字关注我们作者:张善友编辑:吴珊珊校正:潘淳、许豪、刘腾飞、朱兴亮、郑和阳、张潇、韩骏问卷制作:杨乐2019年,注定会是 .NET Core 社区发展的关键一年,诸多重大事件在这一年发生!正如大家…

GitHub 2019年度报告,用户超4000万

GitHub 发布了 2019 年年度报告《The State of the Octoverse》,下边来看看一些主要数据。全球用户超过 4 千万 目前 GitHub 上有超过 4000 万开发人员,其中有 80% 来自美国以外的地区。去年一年里有 1000 万新加入的开发者,2019 …

github 创建文件夹

https://blog.csdn.net/zhaomengszu/article/details/80354929 在我们不适用本地Git的情况下,我们怎么在网页上创建类似下图一样的文件夹呢 四步方法: 第一步:找到新增按钮 第二步:输入文件夹名,你想要用的文件夹名字。 第三步…

ML.NET 终于在Jupyter NoteBook 上跑起来了

对.NETer来说,刚结束的.NET Conf 2019是非常难忘的,毕竟这个个人觉得比微软在中国办的大会更加清真,当然现阶段.NET 已经不单跑在Windows的一项技术了,它可以跑在Linux/macOS/iOS/Android/IoT等,也可以融合当今最热门的…

2019.NET Conf China,.NET之崛起,已势不可挡

本文来自DotNET技术圈作者:邹溪源一、背景当今时代,气象更新,技术飞速发展。当今时代,开发者大概是最优秀的群体。每一位开发者,无不奋勇向前,努力追寻时代的步伐,以大无畏的精神迎接挑战&#…

PowerBI 11月更新 数据PPT是否会引领新一轮革命

PowerBI Desktop 2019年11月更新新鲜出炉了:罗叔作为全球第 80 人观看更新内容者,快速将本月更新全部奉上,供大家参考。 打开预览特性,如下:本次更新出了三大功能: Power Query 支持 AI新的功能区&#xff…

WeihanLi.Npoi 近期更新

WeihanLi.Npoi 近期更新Intro最近对我的 NPOI 扩展做了一些改变,一方面提高性能,一方面修复bug,增加一些新的功能来让它更加好用,前几天发布了 1.5.0 版本,下面来介绍一下最近的更新默认导入/导出格式变更在 1.5.0 版本…

【.NETCore 3】Ids4 ║ 多项目集成统一认证中心的思考

前言哈喽大家好,好久都没有写文章了,这次又重新开始写技术文章了,半年前我还是一直保持每周都写文章的,后来是为了响应群友的号召,开始踏上了录制视频(https://www.bilibili.com/video/av58096866&#xff…

.NET 社区 NB,2019 中国 .NET 开发者峰会

点击蓝字关注我们作为广州 .NET 技术俱乐部的一名成员,很荣幸以志愿者的身份见证并参与了 首届社区组织的中国 .NET 开发者峰会 ,这次大会共分为三天,第一天的 .NET 之夜,第二天的 .NET 开发者峰会,第三天的 .NET Core…

SQL Server 中 JSON_MODIFY 的使用

SQL Server 中 JSON_MODIFY 的使用IntroSQL Server 从 2016 开始支持了一些 JSON操作,最近的项目里也是好多地方直接用字段直接存成了 JSON,需要了解一下怎么在SQL Server 中操作 JSON.JSON支持适用于 SQL Server 2016 及以上版本 和 Azure SQL Database…