Skip to main content

K Means using PyTorch

PyTorch implementation of kmeans for utilizing GPU

Getting Started


import torch
import numpy as np
from kmeans_pytorch import kmeans

# data
data_size, dims, num_clusters = 1000, 2, 3
x = np.random.randn(data_size, dims) / 6
x = torch.from_numpy(x)

# kmeans
cluster_ids_x, cluster_centers = kmeans(
    X=x, num_clusters=num_clusters, distance='euclidean', device=torch.device('cuda:0')
)

see example.ipynb for a more elaborate example

Requirements

  • PyTorch version >= 1.0.0
  • Python version >= 3.6

Installation

install with pip:

pip install kmeans-pytorch

Installing from source

To install from source and develop locally:

git clone https://github.com/subhadarship/kmeans_pytorch
cd kmeans_pytorch
pip install --editable .

CPU vs GPU

see cpu_vs_gpu.ipynb for comparison between CPU and GPU

Notes

  • useful when clustering large number of samples
  • utilizes GPU for faster matrix computations
  • support euclidean and cosine distances (for now)

Release files for kmeans-pytorch 0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kmeans-pytorch 0.3
File Size Uploaded
kmeans_pytorch-0.3.tar.gz 4.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for kmeans-pytorch 0.3
File Interpreter ABI Platform
kmeans_pytorch-0.3-py3-none-any.whl Python 3 none any Details

Total release size: 8.7 kB

Release files / kmeans_pytorch-0.3.tar.gz

Download URL kmeans_pytorch-0.3.tar.gz
Size 4.3 kB
Tags Source
SHA-256 checksum
How to use checksums
c0e7279078f5592c0a80a836897efd1567c3275544e7d0ad844bff24053d8e78
BLAKE2b-256 checksum
How to use checksums
403d7686c2c8e907299ad3696273b9d8137f828593f81276625a20eda7dc3947
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

Release files / kmeans_pytorch-0.3-py3-none-any.whl

Download URL kmeans_pytorch-0.3-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7c0ddf1c19baaea83cd5494c3fdb86f79c0ba11c32848ba542aa190350f7c9eb
BLAKE2b-256 checksum
How to use checksums
b5c9eb5b82e7e9741e61acf1aff70530a08810aa0c7e2272c534ff7a150fc5bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

Release history Release notifications | RSS feed

This release

0.3 This release

2 release files

0.2

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page