Skip to main content

NumPy-style histograms in PyTorch

Project description

NumPy-style histograms in PyTorch

The torchist package implements NumPy's histogram and histogramdd functions in PyTorch with CUDA support. The package also features implementations of ravel_multi_index, unravel_index and some useful functionals like entropy or kl_divergence.

Installation

The torchist package is available on PyPI, which means it is installable with pip.

pip install torchist

Alternatively, if you need the latest features, you can install it from the repository.

pip install git+https://github.com/francois-rozet/torchist

Getting Started

import torch
import torchist

x = torch.rand(100, 3).cuda()

hist = torchist.histogramdd(x, bins=10, low=0.0, upp=1.0)

print(hist.shape)  # (10, 10, 10)

Benchmark

The implementations of torchist are on par or faster than those of numpy on CPU and benefit greately from CUDA capabilities.

$ python torchist/__init__.py
CPU
---
np.histogram : 1.2559 s
np.histogramdd : 20.7816 s
np.histogram (non-uniform) : 5.4878 s
np.histogramdd (non-uniform) : 17.3757 s
torchist.histogram : 1.3975 s
torchist.histogramdd : 9.6160 s
torchist.histogram (non-uniform) : 5.0883 s
torchist.histogramdd (non-uniform) : 17.2743 s

CUDA
----
torchist.histogram : 0.1363 s
torchist.histogramdd : 0.3754 s
torchist.histogram (non-uniform) : 0.1355 s
torchist.histogramdd (non-uniform) : 0.5137 s

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

torchist-0.2.2.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

torchist-0.2.2-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file torchist-0.2.2.tar.gz.

File metadata

  • Download URL: torchist-0.2.2.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for torchist-0.2.2.tar.gz
Algorithm Hash digest
SHA256 6a3b18f01b770264bdac315785d5a93546a66f4823f4aa5fd41fd0181aace94d
MD5 62058aac434e98f3baa96e166f5fb8a9
BLAKE2b-256 6958acb8c5975c7b3dd8d658435648febcdc907901604ce88c99ed5af90d9cce

See more details on using hashes here.

File details

Details for the file torchist-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: torchist-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for torchist-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 61544c4e7db81a9cc499522c88df67af78dd6b763b1b954a7788a14a1bdd58bb
MD5 896fd6fe42bc90d6c38fe1d6d7711763
BLAKE2b-256 1e2735d47d28a58ed1bebd8d174a46461ca0794ddab5264e6b5949bbcdac0152

See more details on using hashes here.

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