代码详解:用RAPIDS库加速数据分析和机器学习

本文详细介绍了NVIDIA的开源Python库RAPIDS,展示如何利用该库将数据分析速度提升50倍。通过实例演示,对比了使用RAPIDS与传统Pandas和Sklearn在机器学习工作流上的速度差异,强调了在处理大规模数据时,RAPIDS的GPU加速能力及其在预处理、机器学习模型构建和特征重要性评估方面的优势。
摘要由CSDN通过智能技术生成


640?wx_fmt=jpeg


全文共5211字,预计学习时长10分钟


640?wx_fmt=png
(来源:https://res.infoq.com/news/2018/10/Nvidia-keynote-gtc/en/resources/1BFA0900F-5083-497B-8275-B80D87C9CFF8-1539179054604.jpeg)


GPU加速如今变得越来越重要。这种转变的两个主要驱动因素是:


1. 世界每年的数据量都在翻倍。


2. 由于量子领域的限制,摩尔定律即将结束。


为了证实这一转变,越来越多的在线数据科学平台正在添加支持GPU的解决方案。例如:Kaggle、谷歌Colaboratory、Microsoft Azure和亚马逊网络服务(AWS)。


本文首先介绍NVIDIA开源Python RAPIDS库,接着实际说明RAPIDS如何将数据分析速度提高到原来的50倍。


本文使用的所有代码都可以在GitHub (https://github.com/pierpaolo28/Artificial-Intelligence-Projects/tree/master/NVIDIA-RAPIDS AI?source=post_page---------------------------)和谷歌Colaboratory (https://colab.research.google.com/drive/1oEoAxBbZONUqm4gt9w2PIzmLTa7IjjV9?source=post_page---------------------------)中找到并使用。


640?wx_fmt=jpeg

RAPIDS


为了处理大量的数据,在过去几年中提出了许多解决方案,比如MapReduce, Hadoop and Spark。


RAPIDS现在被设计为数据处理的下一个发展阶段。由于其Apache Arrow的内存格式,与Spark内存处理相比,RAPIDS可以提高50倍左右的速度(图1),此外,还可以从一个扩展到多个GPU。


所有RAPIDS库都是基于Python的,并且都设计了类似于Pandas和Sklearn的接口,以便采用。


640?wx_fmt=png
图1:数据处理发展


所有RAPIDS包现在都可以在  Anaconda, Docker and cloud-based solutions (如谷歌Colaboratory)上免费使用。


RAPIDS结构是基于不同的库来实现数据科学从一端到另一端的加速(图2),其主要组成部分为:


• cuDF =用于执行数据处理任务(如Pandas)。


• cuML =用于创建机器学习模型(如Sklearn)。


• cuGraph =用于执行绘图任务(图论Graph Theory)。


RAPIDS还结合了:用于深度学习的PyTorch & Chainer,用于可视化的Kepler GL,以及用于分布计算的Dask。


640?wx_fmt=png
图2:RAPIDS架构


640?wx_fmt=jpeg

演示


现在,将演示如何使用RAPIDS比使用Pandas和Sklearn更快地进行数据分析。使用到的所有代码都可以在谷歌 Google Colaboratory上找到,所以可以随时亲自测试!


为了使用RAPIDS,首先让谷歌Colaboratory notebook与Tesla T4 GPU在GPU模式下使用,然后安装所需的依赖项(指南可在Google Colabortory notebook上找到)。


预处理


一旦一切都设置好了,就可以导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值