问题标签 [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 投票
1 回答
55 浏览

rapids - RAPIDS cuML 库是否支持广义线性模型 (GLM)?

我认为 cuML 确实支持 GLM,因为线性和逻辑回归是 GLM 的类型,而 cuML 支持这些类型。最好确定!https://github.com/rapidsai/cuml

如果不支持,是否在路线图上?

0 投票
1 回答
847 浏览

python-3.x - Colab AttributeError 中的 RAPIDS:模块“cudf”没有属性“_lib”

在我尝试导入 cuml 库之前,我已经在 Colab 中安装了 RAPIDS,没有任何问题。幸运的是,我有 Tesla 4 作为 GPU。

这就是我安装 RAPIDS 的方式

当我尝试导入时:

我也放了这个:

这是我的问题,我正在尝试使用 RAPIDS 使用他的 T-SNE,它比 Scipy T-SNE 更快。

0 投票
1 回答
82 浏览

python - 有没有人看到带有 cuml RAPIDS 的错误 global_output_type ?

我是 RAPIDS 的新手,之前只是尝试使用 sklearn 复制逻辑回归模型,但现在使用 cuml,但 LogisticRegression() 调用不起作用。

我收到以下错误:

python错误与cuml

LinearRegression() 加载语句也得到相同的错误。考虑到 cudf(Pandas for CUDA) 加载良好,并且可以在 gpu 数据帧上运行,不知道为什么会发生这种情况。

0 投票
0 回答
636 浏览

python - cuML vs sklearn:随机森林分类器的不同精度

我正在使用通过获得的 rapidsai docker 容器

并通过

当我random_forest_mnmg_demo通过 JupyterLab 运行时,我得到以下准确度

虽然笔记本上说

由于算法的随机性,您可能会看到精度略有不同

我不会称这种差异为“轻微”。

附带说明:我还测试并修改了另一个 RF 笔记本 ( random_forest_demo),观察到的精度差异高达 0.95 和 0.75(针对不同的数据集大小和 RF 参数)。根据cuML 文档cuML节点拆分算法不同于sklearn. 因此,我改变split_algo = 0并尝试了各种n_bins价值观——但没有成功。我还测试h2o了 s RF 实现,并且random_forest_demo大部分时间都给出了非常相似的结果。h2osklearn

SO上有一个类似的问题,但似乎这个问题与cuML0.12版有关,应该在我正在使用的0.14版中修复。所以肯定有其他事情发生。

我已经比较了RF 的sklearncuML参数设置,我认为它们应该足够接近以产生相似的结果。我错过了一些配置设置吗?或者这可能与硬件有关?

nvidia-smi输出(在主机上执行,GPU 是“GeForce GTX 1050 Ti with Max-Q Design”)

由给出的 Cuda 版本nvcc --version

0 投票
0 回答
939 浏览

gpu - 带有 GPU_HIST 的 XGBOOST GridSearchCV 同时使用 GPU 和 CPU

我正在使用此代码在 GPU 上训练 xgboost 模型

问题是同时使用 GPU (NVIDIA 1050) 和 CPU 内核。NVIDIA 系统监视器显示利用率为 85% 到 90%,Linux 系统监视器显示所有内核都在工作。

这里有两个问题

1 .当定义的tree_method为'gpu_hist'时,为什么xgb_cv同时使用两者

  1. 当模型使用“hist”而不是“gpu_hist”进行训练时,它只使用 CPU 内核在一半的时间内完成

谢谢

0 投票
1 回答
984 浏览

python - 如何使用 xgboost.dask 和 gpu 以分布式和批处理方式对非常大的数据集进行建模?

我想利用分布在许多节点上的多个 GPU 使用 3 个NC12s_v3 计算节点在 Azure 机器学习中的一个非常大的数据集上训练 XGBoost 模型。数据集大小在持久化到 Dask 时超过了 VRAM 和 RAM 大小,但可以舒适地放在磁盘上。但是,XGBoost 的 dask 模块似乎在训练时保留了所有数据(至少默认情况下)。

所有数据预处理都已处理(一种具有 np.bool 数据类型的热编码),并且可以假设我在其他地方拥有最有效的数据类型(例如,将 np.float64 更改为 np.float32 用于十进制特征,更改为 int8 用于序数数据等)。

目前,我正在尝试制作一个仅使用训练集的简单玩具模型。我的代码如下:

在包含 2 个 GPU 的单个节点上使用上述内容,我一次最多只能加载 32GB(VRAM 的限制)。

从我当前的代码中,我有几个问题:

  1. 有什么办法可以阻止 XGBoost 将所有数据持久保存到内存中,而不是分批处理分区?

  2. 有什么方法可以让 Dask 本地处理批处理而不是手动执行,例如增量学习?

  3. 在他们提到的文档中,您可以使用外部存储器模式及其分布式模式。假设我有 libsvm 文件,我将如何处理多个节点和多个 GPU?

  4. 如何更改上面的代码,以便可以使用多个节点?

  5. 额外问题:假设有一种方法可以使用 xgboost.dask 进行批处理,我如何将它与 RAPIDS 集成以仅在 GPU 上进行处理?

0 投票
1 回答
4666 浏览

python - DBSCAN 中预先计算的距离矩阵

仔细阅读,我发现可以将预先计算的距离矩阵传递给SKLearn DBSCAN。不幸的是,我不知道如何通过它进行计算。

假设我有一个包含 100 个元素的一维数组,只有节点的名称。然后我有一个 100x100 的二维矩阵,每个元素之间的距离(以相同的顺序)。

我知道我必须这样称呼它:

db = DBSCAN(eps=2, min_samples=5, metric="precomputed")

对于 2 个节点和至少 5 个节点集群之间的距离。此外,使用“预计算”表示使用 2D 矩阵。但是如何传递计算信息?

如果使用 RAPIDS CUML DBScan函数(GPU 加速),同样的问题也可能适用。

0 投票
2 回答
356 浏览

gpu - 有没有办法在多 GPU 上运行 Rapids 时间序列模块(ARIMA、ESM)?

我有一个带有 2 个 Tesla P100 gpu 的节点。

当我运行 rapids.tsa.ARIMA(或 ESM)时,它只会使用其中一个 GPU。有没有办法利用多 GPU 来训练模型?就像在 rapids-dask-xgboost 中一样?

0 投票
1 回答
699 浏览

python - CUDF/Python 警告:“用户警告:未检测到 NVIDIA GPU”

我在 python 中使用 cudf 和 dask_cudf 模块运行代码时遇到了一些困难。我正在通过 Anaconda 在 Jupyter Labs 上工作。我已经能够正确安装我的 nvidia-gpu 驱动程序、cudf(通过 rapidsai)和 cuda。只有,当我在 python 中使用 import cudf 时 import cudf,我得到一个错误读数:"home/lib/python3.7/site-packages/cudf/utils/gpu_utils.py:120: UserWarning: No NVIDIA GPU detected. Warnings.warn("No NVIDIA GPU detected")

我的环境:

  • Linux:RHEL8
  • 蟒蛇:3.7.7
  • 库达:10.2
  • 英伟达驱动程序:390.138
  • CUDF/Dask_CUDF:0.13 通过 rapidsai

我正在尝试使用数十万到数百万个项目的数据加载和操作数据集,所以我真的需要 cudf/dask_cudf 实用程序来最大限度地利用我的时间。

当我nvidia-smi在终端中运行时,一切看起来都很好,并且持久模式已打开。我在互联网上搜索了一个没有好主意的解决方案。任何帮助,将不胜感激。

0 投票
2 回答
835 浏览

python - 解释失败的 conda 安装的包请求冲突

尝试以下conda install操作(源自NVIDIA RAPIDS 安装说明):

在 AWS EC2 实例(特别是 an m5.xlarge)上,此操作失败,并带有以下(滑稽的长;我在此处提供了一个片段,单击此处获取完整版本的要点)输出解释包冲突:

我不知道如何解释这个输出。以以下声称的包冲突列表numba为例,例如:

这似乎很容易满足:只需安装numba==0.49. 日志似乎充满了这种可解决的不可解决的冲突。

有谁知道为什么conda要提供这样的输出?