Skip to main content

Automatic differentiation for topological data analysis

Project description

Torch-TDA

Automatic differentiation for topological data analysis.

This package provides utilities for using constructions in topological data analysis with automatic differentiation. It wraps functionality from

  • BATS for persistent homology
  • persim for computations comparing persistence diagrams
  • topologylayer for polynomial features of barcodes

The design is inspired by and draws from topologylayer. Key differences are that torch-tda uses bats for faster topological computations, and the two packages have different feature sets.

Here is the documentation and examples.

Use

Package installation provides a package under the torch_tda namespace. Functionality is primarily under torch_tda.nn, which provides several PyTorch layers.

import torch_tda

Installation

First, it is recommended to set up a conda environment

conda create -n bats
conda activate bats

If you are installing torch_tda from the development version, please install the development version of BATS.py, install it from source.

Otherwise, you can use the latest release of BATS.py

pip install bats-tda

Attension: please use Linux OS to install bats-tda for now and the support for Mac OS will come soon.

Now, you can setup with setup.py

python setup.py install

Documentation

If you want to contribute to the documenation, you can add some jupyter notebooks to the docs/examples folder and then generate documentation using Sphinx

cd docs
pip install -r requirements.txt
make html
xdg-open _build/html/index.html # or just open this file

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

torch-tda-0.0.1.tar.gz (11.0 kB view hashes)

Uploaded Source

Built Distribution

torch_tda-0.0.1-py3-none-any.whl (12.7 kB view hashes)

Uploaded Python 3

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