问题标签 [rapids]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
202 浏览

python - 如何在 RAPIDS 中实现 SQL Groupby

我正在寻求翻译 SQL 查询以使用 RAPIDS。考虑下面的简化查询:

我已经验证了下面的代码,但这是最佳解决方案吗?是否需要对组键进行排序?有没有更干净/更惯用的方式来写它?

0 投票
4 回答
1999 浏览

google-colaboratory - 在 Googe Colab 笔记本上安装 RAPIDS 库

我想知道我是否可以在 Google Colaboratory notebook 中安装RAPIDS库(完全在 GPU 上执行机器学习任务)?

我已经做了一些研究,但我一直无法找到这样做的方法......

0 投票
2 回答
503 浏览

python - 如何用rapids.ai在GPU中做矩阵点积

我正在使用CUDF,它是 Nvidia 的 rapids ML 套件的一部分。

使用这个套件我将如何做一个点积?

例如,我将如何使用相同的 cudf 对象在上述 Dataframe 上执行点积?

0 投票
1 回答
155 浏览

dask - 将 dask_cudf 分区加载到 GPU 内存时,每个分区有多少开销?

PCIE 总线带宽延迟会限制应用程序应如何以及何时将数据复制到 GPU 和从 GPU 复制数据。

直接使用 cuDF 时,我可以有效地将一大块数据移动到单个 DataFrame 中。

使用 dask_cudf 对我的 DataFrame 进行分区时,Dask 是否一次将一个分区复制到 GPU 内存中?分批?如果是这样,多个复制操作而不是单个更大的副本是否有显着的开销?

0 投票
0 回答
262 浏览

python - 通过并行化/多处理加速 Python 代码的选项

下面,我收集了 4 种方法来完成涉及排序更新 Pandas Dataframes 的代码执行。

我想应用最好的方法来加速代码执行。我是否使用了可用的最佳实践?


有人可以就以下想法分享一些想法吗?

  1. 我正在遍历数据框,因为解决我的问题的过程似乎需要它。使用 Dask Dataframes 会大大提高速度吗?

  2. Dask 分布式版本能否从为每个工作人员设置特定数量的工作人员、进程、线程中受益?人们指出,在某些情况下,增加进程数而不是线程数(反之亦然)是最好的。

  3. 用于此类代码的最强大的硬件基础设施是什么?多处理版本在具有更多物理 CPU 内核的 AWS 实例上速度更快。

    • 使用 Dask Distributed 的 Kubernetes/AWS 设置会快得多吗?
    • 这是否可以在本地 GPU 或多 GPU AWS 实例的帮助下轻松调整以运行?

以下是完成时间供参考:

  • 常规“For”循环:34 seconds
  • 黄昏延迟:21 seconds
  • Dask 分布式(本地机器):21 seconds
  • 多处理:10 seconds





谢谢

0 投票
2 回答
445 浏览

python - 如何使用 RAPIDS 在管道中加速由容器分隔的模块

我们有一个功能,可以让用户通过UI界面拖拽一个模块,形成一个数据处理流水线,比如读取数据,做预处理,做分类训练等,拖拽完成后,这些模块会依次执行。

每个模块会启动一个容器(通过k8s)运行,上一个模块处理的结果作为文件保存到cephfs,下一个模块读取文件然后执行操作。这种序列化/反序列化过程很慢。我们计划使用 RAPIDS 来加速这个管道:通过将数据放在 GPU MEM 中来改进模块间的数据交换。并使用 cuDF/cuML 代替 Pandas/SKLearn 以获得更快的处理速度。

目前我们已经确认这些模块可以从 Pandas/SKLearn 移植到 cuDF/cuML,但是因为每个模块都运行在一个容器中,一旦模块运行完毕,容器消失,进程也消失,所以,对应的 cuDF数据不能继续存在于 GPU MEM 中。

在这种情况下,如果你想使用 RAPIDS 来改进管道,有什么好的建议吗?

0 投票
2 回答
695 浏览

python - 推荐的cudf数据框构建

我对从密集的 numpy 对象创建 cudf DataFrames 的推荐和快速方法感兴趣。我已经看到了许多将 2d numpy 矩阵的列拆分为元组然后调用cudf.DataFrame元组列表的示例——这相当昂贵。使用numba.cuda.to_device速度相当快。是否可以使用numba.cuda.to_device或者是否有更有效的方法来构建 DataFrame ?

以上显示cudf.DataFrame比直接调用慢约 360 倍numba.cuda.to_device

0 投票
1 回答
961 浏览

scikit-learn - 为什么我从 Scikit-learn API 与 XGBoost 的 Learning API 得到不同的结果?

我使用了 XGBoost 的 Scikit-learn API(在 python 中)。我的准确率约为 68%。我使用了相同的参数集并使用了 XGBoost 的学习 API;我的准确率约为 60%。我的理解是 Scikit-learn API 是 Learning API 的包装器,因此它们应该给我相同的结果。我不明白为什么我从这两个 API 中得到不同的结果。

结果:

准确度:68.32%

结果:

准确度:60.25%

0 投票
2 回答
394 浏览

python - 如何使用 cudf 删除带有 NA 的列?

熊猫:

我正在尝试使用 cudf 数据框做类似的事情,但 api 不提供此功能。

我的解决方案是转换为 pandas df,执行上述命令,然后重新转换为 cudf。有更好的解决方案吗?

0 投票
1 回答
99 浏览

rapids - “nvstrings”对象没有属性“to_gpu_array”

我正在使用 cuML 进行随机梯度下降。我使用 sklearn 的 train_test_split 从 cuDF 数据帧生成 train_X、train_y ... 的拆分。

以下代码(我删除了与此问题无关的超参数):

在 cu_sgd.fit 行上引发以下错误:“nvstrings”对象没有属性“to_gpu_array”

我该如何解决这个问题?