加入 scikit-learn KMeans 替代 GPU

问题描述 投票:0回答:1

我想知道什么是

from sklearn.cluster import KMeans
的良好替代品。网上其他人建议使用 Nvidia 的 RAPIDS 包中的 cuML,但这无法编译或安装带有 CUDA 版本 12.2 的 python 3.8。其他替代品往往没有与基础替代品相同的参数,因此很难替代。目前,它使用的是
MiniBatchKmeans
中的
sklearn.cluster
,但这利用了多处理并且总是占用 100% CPU 利用率,使得其他使用该服务器的人很难执行他们的代码。

我尝试从 PyPi 安装

kmeans-gpu
,但输入预计为 3 个通道。还尝试使用 cuML 的聚类 KMeans,但版本控制不可用。

scikit-learn gpu k-means mini-batch
1个回答
0
投票

当前版本的 cuML(撰写本文时为 23.08)不支持 Python 3.8,仅支持 Python 3.9 或 3.10。不过,您也许可以尝试 cuML 23.04,它支持 Python 3.8。

如果您想使用支持 CUDA 12 的最新 RAPIDS 版本,请尝试以下操作:

conda create --solver=libmamba -n rapids-23.08 -c rapidsai -c conda-forge -c nvidia  \
    rapids=23.08 python=3.10 cuda-version=12.0

请注意,这需要 Python 3.9 或 3.10。截至撰写本文时,仅支持

cuda-version=12.0
,并且仅在 x86-64 系统上。但是,任何 CUDA 12 版本(例如 12.2)的系统都将支持
cuda-version=12.0
软件包。有关使用最新 RAPIDS 版本的更多信息,请参阅 https://docs.rapids.ai/install

如果您仅限于 Python 3.8 并且无法升级,那么您可能需要使用带有 CUDA 11 的 conda 环境或 Docker 容器,因为 cuml 23.04 不支持 CUDA 12。试试这个:

conda create -n rapids-23.04 -c rapidsai -c conda-forge -c nvidia cuml=23.04 python=3.8 cuda-version=11.8

如果您需要进一步的安装帮助,请随时在 https://github.com/rapidsai/cuml 上打开问题并标记我 (

bdice
)。

© www.soinside.com 2019 - 2024. All rights reserved.