Comments (3)
Dear Zexian,
Thanks for your kind words! Unfortunately, there are no quick routines available for building such graphs/simplicial complexes at the moment. What you could try is use something like nglpy
to obtain faster 1-skeletons, then expand them by yourself.
What you are mentioning is indeed a relevant use case, and I have thought about additional measures. One thing I would like to eventually integrate into pytorch-topological
is this approach on distributed topology. Maybe you can find some inspiration in there. I am very happy to assist you in integrating this into the repository here!
Hope that helps!
from pytorch-topological.
Hi Bastian,
Thanks you so much for your responses and suggestions, I will definitely look into those resources.
Since I am working with n-dim point clouds, hence projecting the edge features from Persistent Digrams (PDs) back to the edges themselves (unlike the ring graph examples in your TOGL and GIF papers) is not necessary.
If the above statement is true, then I only care about the 0-dim features (connected components) of point clouds in PDs. If I were to apply a Vietoris-Rips complexes (which is way much faster than the Tree Simplex construction, computationally speaking) to the learned filtrations of point clouds (via any set-, graph-based learning layer), would the gradients still exist?
I believe that the purpose of applying Tree Simplex construction in the sample code of TOGL is to have an injective mapping from PD features back to the corresponding nodes, so that the gradients would exist for the learnable filtration functions. But I doubt that the above statement holds true for Vietoris-Rips complexes as it mainly considers the some distance metrics (let say, a simple Euclidean metric) of input points.
Regards,
Zexian.
from pytorch-topological.
Dear Zexian,
Yes, if you are only interested in 0D features anyway, I'd go for Vietoris--Rips complexes, with a maximum dimension of 1. You will still get gradients with that approach (in fact, this follows our Topological Autoencoders framework nicely; the framework is also implemented in pytorch-topological
now).
This is still differentiable because distances are differentiable—in the sense that you can change point positions accordingly.
Hope that helps!
from pytorch-topological.
Related Issues (20)
- Write quickstart guide for documentation HOT 6
- run alpha_complex.py with error HOT 4
- Does torch_topological.nn and functions like SignatureLossm, VietorisRipsComplex use GPU HOT 1
- About Topological Graph Neural Networks HOT 1
- TypeError: 'PersistenceInformation' object is not iterable HOT 33
- Add example and unit tests for TOGL HOT 1
- Support for different persistent homology backends HOT 1
- Add support for PersLayer
- Make TOGL feature complete HOT 5
- Encounter empty tensor output from VietorisRipsComplex class. HOT 4
- CubicalComplex documentation could be more inviting for higher dimensionsal data HOT 3
- too much time-consuming after adding topology loss term(Cubical complex) HOT 3
- About SignatureLoss HOT 10
- TOGL example: use of GPU not specified (was: About TOGL demo) HOT 6
- Request to add: Example for binary image segmentation task HOT 1
- cannot run example scripts HOT 1
- support for python<3.9 HOT 4
- pip installation issue HOT 3
- About classification.py this repo HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pytorch-topological.