Comparison with other packages
If you are already familiar with certain packages for calculating
topological features, you might be interested in understanding in
what aspects torch_topological
differs from them. This is not
meant to be a comprehensive comparison; we are aiming for a brief
overview to simplify getting acquainted with the project.
giotto-tda
giotto-tda is a flagship
package, developed by numerous members of L2F. Its primary goal is to
provide an interface consistent with scikit-learn
, thus facilitating
an integration of topological features into a data science workflow.
By contrast, torch_topological
is meant to simplify the development
of hybrid algorithms that can be easily integrated into deep learning
architectures. giotto-tda
is developed by a large team with a much
more professional development agenda, whereas torch_topological
is
geared more towards researchers that want to prototype the integration
of topological features.
Teaspoon
Teaspoon is a library that
targets topological signal processing applications, such as the analysis
of time-varying systems or complex networks. Teaspoon
integrates
very nicely with scikit-learn
and targets a different set of
applications than torch_topological
.
TopologyLayer
TopologyLayer is a library developed by Rickard Brüel Gabrielsson and others, accompanying their AISTATS publication A Topology Layer for Machine Learning.
torch_topological
subsumes the functionality of TopologyLayer
,
albeit under different names:
torch_topological.nn.VietorisRipsComplex
ortorch_topological.nn.CubicalComplex
can be used to extract topological features from point clouds and images, respectively.The
BarcodePolyFeature
andSumBarcodeLengths
classes are incorporated as summary statistics loss functions instead. See the following example for more details: Point cloud optimisation with summary statisticsThe
PartialSumBarcodeLengths
function is not implemented, mostly because a similar effect can be achieved by pruning the persistence diagram manually. This functionality might be added later on.