4倍速!ML.NET Model Builder GPU 与 CPU 对比测试

当我们使用 Visual Studio 进行机器学习开发时,一般都会推荐安装 ML.NET Model Builder ,这让我们的开发更加可视化,并且按照步骤载入相关的训练集,选择好模型就够了,一切就是如此朴实无华。

说到 ML.NET Model Builder ,之前的更新发布中有提到说,开发者有3种指定的训练环境可选择:本地 CPU,本地 GPU,Azure。我们在无数的机器学习介绍中都了解到,GPU 对于机器学习加速的优势,在 ML.NET 中表现如何呢?说实话,很长一段时间我没有深究过,对于小型图像识别模型,由于图像训练集也很小,训练时长在 CPU 和 GPU 之间相差几乎看不到,所以我决定来点更具挑战性的数据集认真做下对比测试。

在新的测试中我将采用来自 Kaggle 挑战赛的一项计算机视觉方向的任务叫【State Farm Distracted Driver Detection】。这个任务旨在探索一种能够识别开车中的司机分心,有可能导致危险驾驶的图像识别模型。这个任务有一个 1GB 左右的训练用图像集,2.2 w+ 张照片,覆盖了包括打电话、发短信、饮酒、往后看、操作收音机、与他人交谈、化妆等10个分心的标注类型。打开 Visual Studio 后,我在 ML.NET Model Builder 中配置了如下的训练图像分类模型的方案:

CPU 训练

这个训练场景比以往的数据集要重得多。总时间为39.2分钟。实验总时间 :2353.6729442 秒

------------------------------------------------------------------------------------------------------------------
|                                                     Summary                                                    |
------------------------------------------------------------------------------------------------------------------
|ML Task: image-classification                                                                                   |
|Dataset: C:\Users\bean\AppData\Local\Temp\5e873581-2dab-4d46-911d-cfc0a0455eb1.tsv                              |
|Label : Label                                                                                                   |
|Total experiment time : 2353.6729442 Secs                                                                       |
|Total number of models explored: 1                                                                              |
------------------------------------------------------------------------------------------------------------------

GPU 训练

使用 GPU 后,简直了!以 1/4 的时间完爆 CPU!仅用了9.6 分钟。实验总时间 : 581.1946062 秒

------------------------------------------------------------------------------------------------------------------
|                                                     Summary                                                    |
------------------------------------------------------------------------------------------------------------------
|ML Task: image-classification                                                                                   |
|Dataset: C:\Users\bean\AppData\Local\Temp\cccb2b3f-dbce-45e5-b17e-872b6cc3f116.tsv                              |
|Label : Label                                                                                                   |
|Total experiment time : 581.1946062 Secs                                                                        |
|Total number of models explored: 1                                                                              |
------------------------------------------------------------------------------------------------------------------

结论

GPU 对深度学习的加持再合适不过了,因为它们被设计用于处理的计算类型与深度学习中遇到的计算类型相同,专门处理图像、视频和其他图形的矩阵结构,执行类似放大效果或旋转操作时,本质上做的只是对矩阵应用一些数学变换而已,机器学习过程中的数据运算刚好适配它。另一方面,ML.NET Model Builder 仅依赖于配置 CUDA 10.0 环境的 GPU,大多数 NVIDIA 显卡就能满足。所以没有理由拒绝 GPU 对于 ML.NET 在机器学习中的提升对吧!

引用

  • ML.NET模型生成器 GPU 支持(预览版)

  • 如何在模型生成器中安装 GPU 支持

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

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

相关文章

ML.NET 推荐引擎中一类矩阵因子分解的缺陷

ML.NET 作为 .NET 跨平台的机器学习套件,在回归、预测、分类甚至是图像识别、异常检测都展现出简洁快速的优势,以往的文章已介绍过不再赘述。其实机器学习场景中还有一类非常常见的,就是推荐,特别是在线购物、文娱产品为了提升用户…

晋升新一线的合肥,跨平台的.NET氛围究竟如何?

大伙可能不知道,2020年合肥已经成功晋升为新一线城市了。本文通过对目前合肥.NET招聘信息以及公众号的相关数据的分析来看下目前合肥.NET的大环境。就着2020中国.NET开发者峰会顺利举行的东风,同时为进一步提升合肥地区的.NET技术氛围,一些合…

开源项目barcodelib-C#条形码图像生成库

介绍该库旨在为开发人员提供一个简单的类,以便他们在需要根据数据字符串生成条形码图像时使用。用法该库包含一个名为BarcodeLib的类,其中包含三个构造函数:Barcode(); Barcode(string); Barcode(string, BarcodeLib.TYPE);如果决定使用参数创…

ctf php 读取flag,BugkuCTF flag.php(反序列化)

进去后是个登录页面,但是login根本不会跳转,看源码也没提示,但是这道题给了一个提示:hint,那么盲猜应该是一个get参数,因为post不能跳转,那么get总有内容吧,跟上hint参数&#xff0c…

2021技术人新展望

一、前言各位小伙伴们还有几天新的一年即将来临,这篇文章作为今年的结束吧。不知道大家对自己每一年的技术发展规划是什么,我在这里分享一下我2021年的新的规划,这里非常感谢各位小伙伴对我的关注。二、内容概要2021的布局客户端技术分享服务…

在 ASP.NET 中实现会话状态的基础

简介 在 Web 应用程序这样的无状态环境中,了解会话状态的概念并没有实际的意义。尽管如此,有效的状态管理对于大多数 Web 应用程序来说都是一个必备的功能。Microsoft ASP.NET 以及许多其他服务器端编程环境都提供了一个抽象层,允许应用程序基…

【One by One系列】IdentityServer4(三)使用用户名和密码

继续介绍IdentityServer4,我们上篇介绍了IdentityServer4实现OAuth2.0的授权方式之一的客户端凭证,接下来我们继续介绍OAuth2.0的另外一种授权方式密码式,Resource Owner Password Credentials。post请求token?grant_typepassword&usernameUSERNAME…

【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源

书接上回,我们将会正式开始介绍IdentityServer4。IdentityServer4是实现了OAuth2.0OpenId Connect两种协议的优秀第三方库,属于.net生态中的优秀成员。可以很容易集成至ASP.NET Core,颁发token。使用Id4基本步骤如下:**1.**在Startup.Configu…

使用 Avalonia 开发 UOS 原生应用

最近很火的是国产的操作系统 UOS 系统,这个系统现在存在的问题就是生态没搭建起来。作为 dotnet 开发者,可以通过很多不同方向的技术为 UOS 系统生态贡献应用,如 Xamarin 和 GTK# 或 wine 和 win32 应用,或 mono 和 WinForms 应用…

云原生那些顶级开源项目,你都用过哪些?

CNCF,英文全称为Cloud Native Computing Foundation,中文译为“云原生计算基金会”, 构建可持续生态系统,并围绕一系列高质量开源项目促进社区的发展,本文大概介绍下几个主要的项目。???? Kubernetes⭐ Star: 73.5k https://g…

2021年首届.NET线下沙龙上海站 - 2021 .NET Meetup in Shanghai

.NET Conf 2020 刚刚在苏州落下帷幕, .NET 开发者们的热情不减,来自五湖四海的朋友一起参加疫情之下的 .NET 盛会。2021年上海第一场线下活动就要来了,快来加入我们一起学习.NET 吧!活动时间:2021年1月23日 13:00-18:0…

跟我一起学Redis之加个哨兵让主从复制更加高可用

前言主从复制的实现在上一篇已经分享过,虽然主从复制本身的确让读写分离更加高效,但是对于整体高可用存在很大的劣势:当主节点宕机了之后还需要人为重新进行主从关系配置;这不是开玩笑嘛,这样人为干预,故障…

智能实验室-全能优化(Guardio) 4.0.0.670 beta 8

怎样获取最新版本?□全新下载:全能优化(Guardio):http://files.cnblogs.com/unruledboy/Guardio.Release.zip智能实验室- 全能优化(Guardio) 4.0.0.670 beta 8 更新记录: 1.添加:系统加速 之 系统速度&…

如何在 ASP.Net Core 中实现 健康检查

健康检查 常用于判断一个应用程序能否对 request 请求进行响应,ASP.Net Core 2.2 中引入了 健康检查 中间件用于报告应用程序的健康状态。ASP.Net Core 中的 健康检查 落地做法是暴露一个可配置的 Http 端口,你可以使用 健康检查 去做一个最简单的活性检…

【One by One系列】IdentityServer4(四)授权码流程

接下来我们介绍新内容,OAuth2.0叫做授权码(authorization code),在OpenID Connect中则属于OpenId Connect Flow,称为授权码流程(Authorization Code Flow),这种方式主要场景:保密客户端,服务器端的web应用“例如asp.net core mvc,…

Nemuria UML架构图 第3次迭代. 重构

Nemuria UML架构图 第3次迭代. 重构

suse linux 文件只可读,SUSE LINUX下文件系统变只读的问题解决

现象产生:服务器在挂载SUSE LINUX的系统光盘安装一些系统自带的RPM包后,发现HOME目录文件系统变成只读模式。附图:原因分析:在系统加载光盘之前一切正常,加载后出现这样的问题。加载光盘时,使用了mount命令…

3个值得学习和练手的.net企业级开源项目,强烈推荐

WTM项目名称:WTM项目所用技术栈:wtm mvvm mvc aspnetcore dotnetcore react vue layui layui-admin element-ui ncc等项目简介:WalkingTec.Mvvm框架(简称WTM)是基于.net core的快速开发框架。支持Layui(前后端不分离),…

linux服务器数据同步,Linux服务器数据定期同步和备份方式

数据安全是做数据分析的人需要关注的一大问题。对于我们分析的关键数据、使用的关键脚本都需要定期备份。scp最简单的备份方式,就是使用cp (本地硬盘)或scp (远程硬盘)命令,给自己的结果文件新建一个拷贝;每有更新,再拷贝一份。具体命令如下&…