cuml-rapids-ml算法

cuml-cuda100的Python项目详细描述


cuml-gpu机器学习算法

注意:对于最新的稳定README.md请确保您在master分支上。

cuml是一套实现机器学习算法和数学原语函数的库,这些函数与其他RAPIDS项目共享兼容的api。

cuml使数据科学家、研究人员和软件工程师能够在gpu上运行传统的表格ml任务,而无需深入研究cuda编程的细节。

例如,下面的python片段加载输入并计算dbscan集群,所有这些都在gpu上:

importcudffromcumlimportDBSCAN# Create and populate a GPU DataFramegdf_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]# Setup and fit clustersdbscan_float=DBSCAN(eps=1.0,min_samples=1)dbscan_float.fit(gdf_float)print(dbscan_float.labels_)

输出:

0    0
1    1
2    2
dtype: int32

有关其他示例,请浏览完整的API documentation,或查看更详细的walkthrough notebooks

支持的算法:

  • 截断奇异值分解(tsvd)-conda cuda 10包中的单gpu、多gpu
  • 线性回归(普通最小二乘法)-conda cuda 10包中的单gpu、多gpu
  • 主成分分析(PCA)-单GPU
  • 基于密度的噪声应用空间聚类(dbscan)-单gpu
  • K均值聚类-多GPU
  • K-近邻-多GPU
  • 岭回归-单GPU
  • 卡尔曼滤波器-单GPU
  • umap
  • 线性回归、logistic回归和线性支持向量机的随机梯度下降,具有l1、l2和弹性净惩罚。

正在进行的算法:

  • 更多卡尔曼滤波器版本
  • 套索
  • 弹性网
  • 逻辑回归

在cuml中有更多的ml算法和ml原语中有更多的ml原语正在研究中。未来版本的目标包括更多算法以及算法和原语的多GPU版本。

安装

确保安装了libomplibopenblas,例如通过apt:

sudo apt install libopenblas-base libomp-dev

条件

cuml可以使用rapidsaiconda通道安装:

conda install -c nvidia -c rapidsai -c conda-forge -c pytorch -c defaults cuml

管道

cuml也可以使用pip安装。根据您的cuda版本选择包。

# cuda 9.2
pip install cuml-cuda92

# cuda 10.0
pip install cuml-cuda100

从源代码构建/安装

请参见构建instructions

贡献

请使用github问题和请求来报告错误和添加或请求功能。

联系人

了解有关RAPIDS site的更多详细信息

打开GPU数据科学

rapids开源软件库套件旨在使端到端的数据科学和分析管道完全在gpu上执行。它依赖nvidia®cuda®原语进行低级计算优化,但通过用户友好的python接口暴露了gpu并行性和高带宽内存速度。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用从PreparedStatement返回的RowId。getGeneratedKeys()?   selenium chrome驱动程序中下一个网站url的java空白页   java如何将参数化匿名类转换为lambda?   java JUnit在AfterClass上获取测试结果   java将动态XML/JSON内容与静态标记化负载进行比较,并检索标记值   java共享一个需要数据持久性的项目[数据库]   java在调用方法时获取意外的参数类型。getParameterTypes()   java如何用jdbc在swing中用另一个字段替换外键?   需要java Jersey Tomcat CDI依赖项解释   java如何生成UML图   java如何编写Jersey rest服务可以通过给定的spring代码访问   SpringMaven存储库管理器Nexus与Java依赖项的Artifactory   java将包从另一个项目导入eclipse中的当前项目   加密Java使用密码加密文件