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第三方库


热门话题
maven字段#getGenericType()抛出java。lang.TypeNotPresentException   用java绘制三角形的几何图形   java无法下载主题和发件人地址(rediff)   java如何使代码线程安全   java在尝试转换FileInputStream中的文件时,我遇到了一个FileNotFound异常   java Moxy和Jackson如何将Json映射到Pojo   在foreach循环中使用BufferedWriter生成新行的java问题   java为什么我的测试在单次执行中运行时间小于1秒,而在maven构建中运行时间大于20秒?   java如何显示下载附件的进度条   了解java rmi的良好实践   .net可以将Java portlet嵌入ASP。网页?   循环如何多次执行Java方法?   java如何确保用户输入在给定的有效范围内?   java单元测试定理   java如何在IntelliJ上运行外部构建项目?   JAVA:试图编写一个检查字符串是否为数字的方法。总是返回错误   javahadoop将特定键的所有map方法生成的所有值都发送到一个reduce方法,对吗?   在java中读取和使用文件