首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DASK上运行的cuML函数?那么dask_cudf操作呢?

在DASK上运行的cuML函数?那么dask_cudf操作呢?
EN

Stack Overflow用户
提问于 2020-02-06 14:34:43
回答 1查看 172关注 0票数 0

如何在大型数据集dask_cudf上运行dask_cuML (例如逻辑回归)?

我不能在我的cudf dataframe上运行cuML,因为数据集太大了,所以只要我尝试任何东西,就会“内存不足”。好的一面是我有4个GPU可以和dask_cudf一起使用。

例如,有人知道在dask_cudf数据帧上运行逻辑回归的步骤吗?

关于我的cudf和cuml逻辑函数:

代码语言:javascript
复制
type(gdf)
cudf.core.dataframe.DataFrame

logreg = cuml.LogisticRegression(penalty='none', tol=1e-6, max_iter=10000)
logreg.fit(gdf[['A', 'B', 'C', 'D', 'E']], gdf['Z'])

我的想法--步步为营:(不起作用!)

1-将gdf cudf转换为dask_cudf。

代码语言:javascript
复制
  ddf = dask_cudf.from_cudf(gdf, npartitions=2) -- what's the number of partitions?

2- meta_dtypes = dict(zip(ddf.columns, ddf.dtypes))

3-

代码语言:javascript
复制
def logistic_regression(gdf):
              return logreg.fit(gdf[['A', 'B', 'C', 'D', 'E']], gdf['Z'])

4- ddf = ddf .map_partitions(logistic_regression, meta=meta_dtypes)

代码语言:javascript
复制
ddf.compute().persist()

如有任何建议或见解,欢迎光临!

EN

回答 1

Stack Overflow用户

发布于 2020-02-07 02:58:26

感谢您试用cuml!cuml的官方发布还没有多个gpu的逻辑回归(即将推出!)。我正在使用dask-glmcupy实现一个变通方法。一旦我的笔记本准备好了,我就会在这个帖子里发布它。以下是一般步骤:

  1. 如果您的数据集太大,我建议您使用dask_cudf读取csv文件,而不是将cudf dataframe转换为dask_cudf。

代码语言:javascript
复制
ddf = dask_cudf.read_csv("*.csv")

  1. 通过调用

将dask cudf数据帧转换为dask数组

代码语言:javascript
复制
X = ddf[['A', 'B', 'C', 'D', 'E']].values
y = ddf['Z'].values

其中dask数组的每个块是cupy数组。

  1. 将dask数组与我的版本dask-glm逻辑回归拟合。

代码语言:javascript
复制
from dask_glm.estimators import LogisticRegression
clf = LogisticRegression()
clf.fit(X,y)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60089009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档