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)

Download files

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

Source Distribution

kmeans_pytorch-0.3.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

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

kmeans_pytorch-0.3-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file kmeans_pytorch-0.3.tar.gz.

File metadata

  • Download URL: kmeans_pytorch-0.3.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for kmeans_pytorch-0.3.tar.gz
Algorithm Hash digest
SHA256 c0e7279078f5592c0a80a836897efd1567c3275544e7d0ad844bff24053d8e78
MD5 b94aed5a3ceca72e49de77de3f656b9c
BLAKE2b-256 403d7686c2c8e907299ad3696273b9d8137f828593f81276625a20eda7dc3947

See more details on using hashes here.

File details

Details for the file kmeans_pytorch-0.3-py3-none-any.whl.

File metadata

  • Download URL: kmeans_pytorch-0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.4 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for kmeans_pytorch-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7c0ddf1c19baaea83cd5494c3fdb86f79c0ba11c32848ba542aa190350f7c9eb
MD5 d551470eeee439cdea99a881289d2c04
BLAKE2b-256 b5c9eb5b82e7e9741e61acf1aff70530a08810aa0c7e2272c534ff7a150fc5bd

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.3 This release

2 files

0.2

2 files

0.1

2 files

Supported by

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