cuML GPU机器学习算法开源项目

我要开发同款
匿名用户2019年08月06日
56阅读
开发技术C/C++
所属分类程序开发、数学计算
授权协议Apache

作品详情

cuML是一套用于实现与其他RAPIDS项目共享兼容API的机器学习算法和数学原语函数。

cuML使数据科学家、研究人员和软件工程师能够在GPU上运行传统的表格ML任务,而无需深入了解CUDA编程的细节。在大多数情况下,cuML的PythonAPI与来自scikit-learn的API相匹配。

对于大型数据集,这些基于GPU的实现可以比其CPU等效完成10-50倍。有关性能的详细信息,请参阅cuML基准测试笔记本。

例如,以下Python代码段加载输入并计算DBSCAN集群,所有这些都在GPU上:

importcudffromcuml.clusterimportDBSCAN#CreateandpopulateaGPUDataFramegdf_float=cudf.DataFrame()gdf_float['0']=[1.0,2.0,5.0]gdf_float['1']=[4.0,2.0,1.0]gdf_float['2']=[4.0,2.0,1.0]#Setupandfitclustersdbscan_float=DBSCAN(eps=1.0,min_samples=1)dbscan_float.fit(gdf_float)print(dbscan_float.labels_)

输出:

001122dtype:int32

cuML还具有多GPU和多节点多GPU操作,使用Dask,用于越来越多的算法。以下Python代码段从CSV文件中读取输入,并在单个节点上使用多个GPU在Dask工作器集群中执行NearestNeighbors查询:

#CreateaDaskCUDAclusterw/oneworkerperdevicefromdask_cudaimportLocalCUDAClustercluster=LocalCUDACluster()#ReadCSVfileinparallelacrossworkersimportdask_cudfdf=dask_cudf.read_csv("/path/to/csv")#FitaNearestNeighborsmodelandqueryitfromcuml.dask.neighborsimportNearestNeighborsnn=NearestNeighbors(n_neighbors=10)nn.fit(df)neighbors=nn.kneighbors(df)

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论