Skip to main content

A small library for quick fitting of multiple Gaussian Mixture Models in parallel on the GPU.

Project description

gmm_gpu

Documentation

A small library for quick fitting of multiple instances of Gaussian Mixture Models in parallel on the GPU.

This may be useful if you have a large number of independent small problems and you want to fit a GMM on each one. You can create a single large 3D tensor (three dimensional matrix) with the data for all your instances (i.e. a batch) and then send the tensor to the GPU and process the whole batch in parallel. This would work best if all the instances have roughly the same number of points.

If you have a single big problem (one GMM instance with many points) that you want to fit using the GPU, maybe Pomegranate would be a better option.

Installation

$ pip install gmm-gpu

Example usage:

Import pytorch and the GMM class

>>> from gmm_gpu.gmm import GMM
>>> import pytorch

Generate some test data: We create a batch of 1000 instances, each with 200 random points. Half of the points are sampled from distribution centered at the origin (0, 0) and the other half from a distribution centered at (1.5, 1.5).

>>> X1 = torch.randn(1000, 100, 2)
>>> X2 = torch.randn(1000, 100, 2) + torch.tensor([1.5, 1.5])
>>> X = torch.cat([X1, X2], dim=1)

Fit the model:

>>> gmm = GMM(n_components=2, device='cuda')
>>> gmm.fit(X)

Predict the components: This will return a matrix with shape (1000, 200) where each value is the predicted component for the point.

>>> gmm.predict(X)

Project details


Download files

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

Source Distribution

gmm_gpu-0.1.17.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gmm_gpu-0.1.17-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file gmm_gpu-0.1.17.tar.gz.

File metadata

  • Download URL: gmm_gpu-0.1.17.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.20 Linux/5.15.133.1-microsoft-standard-WSL2

File hashes

Hashes for gmm_gpu-0.1.17.tar.gz
Algorithm Hash digest
SHA256 f38024a152d8c1b513a08476629e8ef5172413492a5f8ab2e2d4dc8851cb4e04
MD5 6add3257e6a38c133ee7d410a5999ccb
BLAKE2b-256 9f7f21cc92f510bb547f3717c1d0635649d4c95b856dc943d674eea294c7e8a7

See more details on using hashes here.

File details

Details for the file gmm_gpu-0.1.17-py3-none-any.whl.

File metadata

  • Download URL: gmm_gpu-0.1.17-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.9.20 Linux/5.15.133.1-microsoft-standard-WSL2

File hashes

Hashes for gmm_gpu-0.1.17-py3-none-any.whl
Algorithm Hash digest
SHA256 06c4ad5b470d1e5fddc41fa3102cdaf834a23eeaf5f7c0f2aea3e412c4b7535d
MD5 4b202ccba3a7c3adfbdd092334aff680
BLAKE2b-256 d23fffc6a52d22865aec8eb82d3f7ef7b3374cd3015ae58492e6a4981ce54a65

See more details on using hashes here.

Supported by

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