如安在GPU上加快数据科学
副问题[/!--empirenews.page--]
笔者按,数据科学家必要算力。无论您是用 pandas 处理赏罚一个大数据集,照旧用 Numpy 在一个大矩阵上运行一些计较,您都必要一台强盛的呆板,以便在公道的时刻内完成这项事变。 在已往的几年中,数据科学家常用的 Python 库已经很是善于操作 CPU 手段。 Pandas 的基本代码是用 C 说话编写的,它可以很好地处理赏罚巨细高出 100GB 的数据集。假如您没有足够的 RAM 来容纳这样的数据集,那么您可以行使分块成果,它很利便,可以一次处理赏罚一个数据块。 GPUs vs CPUs:并行处理赏罚 有了大量的数据,CPU 就不会割断它了。 一个高出 100GB 的数据集将有许大都据点,数据点的数值在数百万乃至数十亿的范畴内。有了这么多的数据点要处理赏罚,不管你的 CPU 有多快,它都没有足够的内核来举办有用的并行处理赏罚。假如你的 CPU 有 20 个内核(这将是相等昂贵的 CPU),你一次只能处理赏罚 20 个数据点! CPU 在时钟频率更重要的使命中会更好——可能基础没有 GPU 实现。假如你实行执行的流程有一个 GPU 实现,且该使命可以从并行处理赏罚中受益,那么 GPU 将越发有用。
深度进修已经在操作 GPU 方面施展了相等大的浸染。很多在深度进修中完成的卷积操纵是一再的,因此在 GPU 上可以大大加快,乃至可以到达 100 次。 本日的数据科学没有什么差异,由于很多一再的操纵都是在大数据集上执行的,库中有 pandas、Numpy 和 scikit-learn。这些操纵也不太伟大,无法在 GPU 上实现。 最后,尚有一个办理方案。 用 Rapids 加快 GPU Rapids 是一套软件库,旨在操作 GPU 加快数据科学。它行使初级此外 CUDA 代码实现快速的、GPU 优化的算法,同时它上面尚有一个易于行使的 Python 层。 Rapids 的美好之处在于它与数据科学库的集成很是顺遂,好比 pandas 数据帧就很轻易通过 Rapids 实现 GPU 加快。下图声名白 Rapids 如安在保持顶层易用性的同时实现低层的加快。 Rapids 操作了几个 Python 库:
怎样行使 Rapids 安装 此刻你将看到怎样行使 Rapids! 要安装它,请会见这个网站,在这里你将看到怎样安装 Rapids。你可以通过 Conda 将其直接安装到你的呆板上,可能简朴地行使 Docker 容器。 安装时,可以配置体系类型,如 CUDA 版本和要安装的库。譬喻,我有 CUDA 10.0,想要安装全部库,以是我的安装呼吁是:
一旦呼吁完成运行,就可以开始用 GPU 加快数据科学了。 配置我们的数据 对付本教程,我们将先容 DBSCAN demo 的修改版本。我将行使 Nvidia 数据科学事变站和 2 个 GPU 运行这个测试。 DBSCAN 是一种基于密度的聚类算法,可以自动对数据举办分类,而无需用户指定有几多组数据。在 Scikit-Learn 中有它的实现。 我们将从获取全部导入配置开始。先导入用于加载数据、可视化数据和应用 ML 模子的库。
make_circles 函数将自动建设一个伟大的数据漫衍,相同于我们将应用于 DBSCAN 的两个圆。 让我们从建设 100000 点的数据集开始,并在图中可视化:
CPU 上的 DBSCAN 行使 Scikit-Learn 在 CPU 上运行 DBSCAN 很轻易。我们将导入我们的算法并配置一些参数。
我们此刻可以通过挪用 Scikit-Learn 中的一个函数对轮回数据行使 DBSCAN。在函数前面加上一个「%」,就可以让 Jupyter Notebook 丈量它的运行时刻。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |