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

Uploaded Source

Built Distribution

torchist-0.2.3-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: torchist-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 56423cceb5deb843faaa8b4dbbefc4a6b5ea72a5d5f49b43dc26f32f616d182b
MD5 e08bffcdca630efbcbee5d11c84c6303
BLAKE2b-256 82a4fd1a4af353ef5ba575456cfd16a91109481a102a233f3400dbe066a8e4a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: torchist-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 7.9 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 887702fc55aa74bccebc00c7e9238407844a548443aecc773a5e3985496e103b
MD5 84a8f1deee50777c43a8630946c0150a
BLAKE2b-256 3759f340823a5a07418e90d7861812014dc9b0df98c518aa33153ce0bd05ffe1

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