GithubHelp home page GithubHelp logo

trungthanhnguyen0502 / cuml Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rapidsai/cuml

0.0 1.0 0.0 9.65 MB

cuML - RAPIDS Machine Learning Library

License: Apache License 2.0

Dockerfile 0.03% Shell 1.08% Python 22.03% CMake 1.07% C++ 46.66% C 0.33% Cuda 28.81%

cuml's Introduction

 cuML - GPU Machine Learning Algorithms

NOTE: For the latest stable README.md ensure you are on the master branch.

cuML is a suite of libraries that implement machine learning algorithms and mathematical primitives functions that share compatible APIs with other RAPIDS projects.

cuML enables data scientists, researchers, and software engineers to run traditional tabular ML tasks on GPUs without going into the details of CUDA programming.

As an example, the following Python snippet loads input and computes DBSCAN clusters, all on GPU:

import cudf
from cuml import DBSCAN

# Create and populate a GPU DataFrame
gdf_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 clusters
dbscan_float = DBSCAN(eps=1.0, min_samples=1)
dbscan_float.fit(gdf_float)

print(dbscan_float.labels_)

Output:

0    0
1    1
2    2
dtype: int32

For additional examples, browse our complete API documentation, or check out our more detailed walkthrough notebooks.

Supported Algorithms:

Algorithm Scale Notes
Coordinate Descent Single-GPU
Density-Based Spatial Clustering of Applications with Noise (DBSCAN) Single GPU
K-Means Clustering Single-GPU
K-Nearest Neighbors (KNN) Multi-GPU with dask-cuml
Uses Faiss
Linear Kalman Filter Single-GPU
Linear Regression (OLS) Single GPU Multi-GPU available in conda cuda10 package and dask-cuml
Linear Regression with Lasso Regularization Single-GPU
Linear Regression with Elastic-Net Regularization Single-GPU
Principal Component Analysis (PCA) Single GPU
Ridge Regression Single-GPU
Stochastic Gradient Descent Single-GPU for linear regression, logistic regression, and linear svm with L1, L2, and elastic-net penalties
Truncated Singular Value Decomposition (tSVD) Single GPU Multi-GPU available in conda cuda10 package
UMAP Single-GPU

More ML algorithms in cuML and more ML primitives in ml-prims are being worked on, among them: t-sne, random forests, spectral embedding, spectral clustering, random projections, support vector machine and others. Goals for future versions include more multi-gpu versions of the algorithms and primitives.

Installation

  1. Install NVIDIA drivers with CUDA 9.2 or 10.0
  2. Ensure libomp and libopenblas are installed, for example via apt:
sudo apt install libopenblas-base libomp-dev

Conda

cuML can be installed using the rapidsai conda channel:

CUDA 9.2

conda install -c nvidia -c rapidsai -c conda-forge -c defaults cuml cudatoolkit=9.2

CUDA 10.0

conda install -c nvidia -c rapidsai -c conda-forge -c defaults cuml cudatoolkit=10.0

Build/Install from Source

See the build guide.

Contributing

Please see our guide for contributing to cuML.

Contact

Find out more details on the RAPIDS site

Open GPU Data Science

The RAPIDS suite of open source software libraries aim to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization, but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.

cuml's People

Contributors

akkamesh avatar chirayug-nvidia avatar cjnolet avatar danielhanchen avatar dantegd avatar dillon-cullinan avatar gputester avatar jirikraus avatar johnzed avatar levibarnes avatar mike-wendt avatar minseokl avatar mtjrider avatar muellren avatar myrtw avatar nleaf-nv avatar oyilmaz-nvidia avatar quasiben avatar randerzander avatar ravigumm avatar raydouglass avatar rietmann-nv avatar rlratzel avatar salonijain27 avatar teju85 avatar tfeher avatar viclafargue avatar vinaydes avatar vishalmehta1991 avatar yjk21 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.