pytorch-topological
(or torch_topological
) is a topological machine
learning framework for PyTorch. It aims to
collect loss terms and neural network layers in order to simplify
building the next generation of topology-based machine learning tools.
Topological machine learning refers to a new class of machine learning algorithms that are able to make use of topological features in data sets. In contrast to methods based on a purely geometrical point of view, topological features are capable of focusing on connectivity aspects of a data set. This provides an interesting fresh perspective that can be used to create powerful hybrid algorithms, capable of yielding more insights into data.
This is an emerging research field, firmly rooted in computational topology and topological data analysis. If you want to learn more about how topology and geometry can work in tandem, here are a few resources to get you started:
-
Amézquita et al., The Shape of Things to Come: Topological Data Analysis and Biology, from Molecules to Organisms, Developmental Dynamics Volume 249, Issue 7, pp. 816--833, 2020.
-
Hensel et al., A Survey of Topological Machine Learning Methods, Frontiers in Artificial Intelligence, 2021.
It is recommended to use the excellent poetry
framework
to install torch_topological
:
poetry add torch-topological
Alternatively, use pip
to install the package:
pip install -U torch-topological
torch_topological
is still a work in progress. You can browse the documentation
or, if code reading is more your thing, dive directly into some example
code.
Check out the contribution guidelines or the road map of the project.
Our software and research does not exist in a vacuum. pytorch-topological
is standing
on the shoulders of proverbial giants. In particular, we want to thank the
following projects for constituting the technical backbone of the
project:
giotto-tda |
gudhi |
---|---|
Furthermore, pytorch-topological
draws inspiration from several
projects that provide a glimpse into the wonderful world of topological
machine learning:
-
topological-autoencoders
by Michael Moor, Max Horn, and Bastian Rieck -
torchph
by Christoph Hofer and Roland Kwitt
Finally, pytorch-topological
makes heavy use of POT
, the Python Optimal Transport Library.
We are indebted to the many contributors of all these projects.