博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4倍速!ML.NET Model Builder GPU 与 CPU 对比测试
阅读量:4034 次
发布时间:2019-05-24

本文共 3044 字,大约阅读时间需要 10 分钟。

当我们使用 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://mbudi.baihongyu.com/

你可能感兴趣的文章
C++获取文件大小常用技巧分享
查看>>
关于AIS编码解码的两个小问题
查看>>
GitHub 万星推荐:黑客成长技术清单
查看>>
可以在线C++编译的工具站点
查看>>
关于无人驾驶的过去、现在以及未来,看这篇文章就够了!
查看>>
所谓的进步和提升,就是完成认知升级
查看>>
昨夜今晨最大八卦终于坐实——人类首次直接探测到了引力波
查看>>
如何优雅、机智地和新公司谈薪水?
查看>>
为什么读了很多书,却学不到什么东西?
查看>>
长文干货:如何轻松应对工作中最棘手的13种场景?
查看>>
如何用好碎片化时间,让思维更有效率?
查看>>
No.147 - LeetCode1108
查看>>
No.174 - LeetCode1305 - 合并两个搜索树
查看>>
No.175 - LeetCode1306
查看>>
No.176 - LeetCode1309
查看>>
No.182 - LeetCode1325 - C指针的魅力
查看>>
mysql:sql create database新建utf8mb4 数据库
查看>>
mysql:sql alter database修改数据库字符集
查看>>
mysql:sql drop table (删除表)
查看>>
mysql:sql truncate (清除表数据)
查看>>