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 support for non-uniform binning. 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 using

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

or copy the package directly to your project, with

git clone https://github.com/francois-rozet/torchist
cp -R torchist/torchist <path/to/project>/torchist

Getting Started

import torch
import torchist

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

hist = torchist.histogramdd(x, bins=10, low=0., upp=1.)

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.1.7.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

torchist-0.1.7-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: torchist-0.1.7.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for torchist-0.1.7.tar.gz
Algorithm Hash digest
SHA256 b02c580326ee48d21eed5dd0b78f3523c845fa27998c652faaae147752ad73c1
MD5 74bf28bfd92164e825049f97bd764f15
BLAKE2b-256 c0040607257821a961554256b8fb809f576f4453714633a54dced07643eac15a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: torchist-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.22.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.5

File hashes

Hashes for torchist-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 21a70e1d082a1668b296e53d1e8403b1fa3a49cc1071ca93d44799fb8e906f8d
MD5 4926274c13d8da07c7d775959d7beb63
BLAKE2b-256 9f9ad3630ee4acb89557989bd3c1286c387162a5bd75ce120b27f8c4a480f0ac

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