如安在GPU上加快数据科学
这 10 万个点的运行时刻是 8.31 秒,如下图所示:
GPU 上带 Rapids 的 DBSCAN 此刻,让我们用 Rapids 举办加快! 起首,我们将把数据转换为 pandas.DataFrame 并行使它建设一个 cudf.DataFrame。pandas.DataFrame 无缝转换成 cudf.DataFrame,数据名目无任何变动。
然后我们将从 cuML 导入并初始化一个非凡版本的 DBSCAN,它是 GPU 加快的版本。DBSCAN 的 cuML 版本的函数名目与 Scikit-Learn 的函数名目完全沟通:沟通的参数、沟通的样式、沟通的函数。
最后,我们可以在丈量运行时刻的同时运行 GPU DBSCAN 的猜测函数。
GPU 版本的运行时刻为 4.22 秒,险些加快了 2 倍。因为我们行使的是沟通的算法,因此功效图也与 CPU 版本完全沟通。
行使 Rapids GPU 得到超高速 我们从 Rapids 得到的加快量取决于我们正在处理赏罚的数据量。一个好的履历法例是,较大的数据集将越发受益于 GPU 加快。在 CPU 和 GPU 之间传输数据有一些开销时刻——对付较大的数据集,开销时刻变得更「值得」。 我们可以用一个简朴的例子来声名这一点。 我们将建设一个随机数的 Numpy 数组并对其应用 DBSCAN。我们将较量通例 CPU DBSCAN 和 cuML 的 GPU 版本的速率,同时增进和镌汰数据点的数目,以相识它怎样影响我们的运行时刻。 下面的代码声名怎样举办测试:
搜查下面的 Matplotlib 功效图: 当行使 GPU 而不是 CPU 时,数目会急剧增进。纵然在 10000 点(最左边),我们的速率如故是 4.54x。在更高的一端,1 万万点,我们切换到 GPU 时的速率是 88.04x! 本文转自雷锋网,如需转载请至雷锋网官网申请授权。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |