Comments (5)
OK, Thanks for your explanation 👍
from fugw.
Thanks @TuDou-PK for your interest in our repo!
FUGW basically consists in solving a Gromov-Wasserstein problem between graphs, leading to weighted assignments between source and target nodes. The problem thus differs from a domain adaptation setting as there is no geometric displacement of the points.
The idea of mapping.transform
is to transport a fresh set of features from the source to the target space using a previously fitted transport plan.
Going back to your example, if you have
The notion of ambient dimensions in which each graph is embedded is only relevant for the computation of the geometric cost and is not related to the number of features. @alexisthual It might be worth to emphasize this in the documentation.
I hope my explanation is clear :)
from fugw.
@pbarbarant @alexisthual can you take a look ?
from fugw.
@pbarbarant Thanks for your reply, please help me to confirm if I understand correctly:
In your graph application, your aim is to map the 3000-node graph to the 9000-node graph, then you can do further process to compare with the mapped 9000-node graph and the target 9000-node graph. As for the node features, no matter if it's 50-dim or 100-dim, you don't care, right? Your aim only cares about the node(graph) geometry information.
Ah! Maybe I got you, that's why in your code, the array shape is like [position, node_number], then actually you treat the "node_number" as the feature, that looks make sense.
So the conclusion is POT and FUGW all are not wrong, just the aim is different?
from fugw.
I believe the easiest example is an image where the underlying graph is the 2D grid and over each pixel (node of the graph) you will have a set of features which corresponds to the three RGB channels for example.
In POT's DA example, you would only work in the RGB space, thus your RGB points would move geometrically in this color space, therefore you would get a mapping between colors.
With FUGW, you also take into account the graph geometry between pixels, thus a slice of your data array at pixel
from fugw.
Related Issues (20)
- RuntimeError: sparse tensors do not have strides HOT 2
- intsall instructions incomplete ? HOT 7
- Test that sparse matrice have the same support in algebraic computations.
- Make functions in `solvers/utils.py` private.
- undo parameters concatenation
- Fix the case alpha = 0
- [BUG] Remove res["pi"].detach().cpu() HOT 6
- There is NaN in coupling
- [DOC] Add an example of FUGW barycenters
- [ENH] Dense mappings should factor cost matrix by default
- [DOC] Fix documentation which rely on dense mapping
- [BUG] Dense/Sparse barycenters features contain NaNs
- [TEST] Coarse-to-fine test fails on GPU
- Rename `sparsity_mask` so that it's not confused with a nilearn masker.
- [ENH] Add NotImplementedError for barycenters with different geometries
- Test barycenter edge cases with POT
- [BUG] IBPP solver fails when rho=inf HOT 1
- [BUG] Downgrade to numpy<2 HOT 2
- [PERF] Sparsity mask is recomputed at each barycenter iteration
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 fugw.