如何在大型数据集 dask_cudf 上运行 dask_cuML(例如逻辑回归)?
我无法在我的 cudf 数据帧上运行 cuML,因为数据集很大,所以一旦我尝试任何东西,就会“内存不足”。好的一面是我有 4 个 GPU 可以与 dask_cudf 一起使用。
有人知道例如在 dask_cudf 数据帧上运行逻辑回归的步骤吗?
关于我的 cudf 和 cuml 逻辑函数:
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。
ddf = dask_cudf.from_cudf(gdf, npartitions=2) -- what's the number of partitions?
2-meta_dtypes = dict(zip(ddf.columns, ddf.dtypes))
3-
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)
ddf.compute().persist()
任何建议或见解表示赞赏!