Metadata-Version: 2.1
Name: torch-runstats
Version: 0.1.0
Summary: Running/online statistics for PyTorch 
Home-page: https://github.com/mir-group/pytorch_runstats
License: MIT
Project-URL: Bug Tracker, https://github.com/mir-group/pytorch_runstats/issues
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.6
Description-Content-Type: text/markdown

# pytorch_runstats
Running/online statistics for PyTorch.

[![Documentation Status](https://readthedocs.org/projects/pytorch-runstats/badge/?version=latest)](https://pytorch-runstats.readthedocs.io/en/latest/?badge=latest)

`torch_runstats` implements memory-efficient online reductions on tensors. 

Notable features:
 - Arbitrary sample shapes beyond single scalars
 - Reduction over arbitrary dimensions of each sample
 - "Batched"/"binned" reduction into multiple running tallies using a per-sample bin index. 
  This can be useful, for example, in accumulating statistics over samples by some kind of "type" index or for accumulating statistics per-graph in a `pytorch_geometric`-like [batching scheme](https://pytorch-geometric.readthedocs.io/en/latest/notes/batching.html). (This feature uses and is similar to [`torch_scatter`](https://pytorch-scatter.readthedocs.io/en/latest/functions/scatter.html).)

**Note:** the implementations currently heavily uses in-place operations for peformance and memory efficiency. This probably doesn't play nice with the autograd engine — this is currently likely the wrong library for accumulating running statistics you want to backward through. (See [TorchMetrics](https://torchmetrics.readthedocs.io/en/latest/) for a possible alternative.)

For more information, please see [the docs](https://pytorch-runstats.readthedocs.io/en/latest/).

## Install

`torch_runstats` requires PyTorch and [`torch_scatter`](https://pytorch-scatter.readthedocs.io/en/latest/functions/scatter.html), but neither is specified in `install_requires` for `pip` since both require manual installation for correct CUDA compatability.

## License

`pytorch_runstats` is distributed under an [MIT license](LICENSE).

