A small library for quick fitting of multiple Gaussian Mixture Models in parallel on the GPU.
Project description
gmm_gpu
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gmm_gpu-0.1.7.tar.gz.
File metadata
- Download URL: gmm_gpu-0.1.7.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.133.1-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
228d7216e260a36ffbae2b0caa8583c64e6c82635d6364ecd4ef0a407d20f32d
|
|
| MD5 |
073a794298fff8a1dd8a8c31f9618f84
|
|
| BLAKE2b-256 |
b66f61253cddf301c2eebbf036daceb52612e91ba1e98859ad60f4636ad9d135
|
File details
Details for the file gmm_gpu-0.1.7-py3-none-any.whl.
File metadata
- Download URL: gmm_gpu-0.1.7-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.10.12 Linux/5.15.133.1-microsoft-standard-WSL2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81c4ec1c44f6754f20ae115aaff7bb0ee26d8834495d6fdafe02b19e26c1e7ad
|
|
| MD5 |
afd169bf0e31851be57604b9e9bf51f1
|
|
| BLAKE2b-256 |
56e7f22fcf1e28d2de306b1ddac4746298c4f0dc6a9f651be5a9ac59205f144b
|