Skip to main content

A GPU-based Incremental PCA implementation.

Project description

PCAonGPU

A powerful implementation of Incremental Principal Components Analysis that runs on GPU, built on top of PyTorch.

Installation

  1. Clone the repository:

git clone https://github.com/YourUsername/PCAonGPU.git

  1. Navigate to the cloned directory:

cd PCAonGPU

  1. Install the required dependencies:

pip install -r requirements.txt

Usage

from gpu_pca import PCAonGPU

# Create an instance
model = PCAonGPU(n_components=5)

# Fit the model (either using `fit` or `partial_fit`)
model.fit(your_data)

# Transform the data
transformed_data = model.transform(your_data)

Benchmark

SKlearn on an AMD Ryzen 9 5900X 12-Core Processor vs PCAonGPU on an Nvidia 4090

Data size: 5000 samples of 5000 dimensional data:

> python tests/benchmark_gpu_pca.py 
test_sklearn_pca took 21.78324556350708 seconds to complete its execution.
test_gpu_pca took 6.523377895355225 seconds to complete its execution.

Data size: 50000 samples of 5000 dimensional data.

> python tests/benchmark_gpu_pca.py 
test_sklearn_pca took 65.70944833755493 seconds to complete its execution.
test_gpu_pca took 11.030456304550171 seconds to complete its execution.

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PCAonGPU-0.1.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

PCAonGPU-0.1-py3-none-any.whl (7.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page