Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

About GNNExplain module and the future of explainability in kgcnn #115

Open
juanramonua opened this issue Oct 11, 2023 · 2 comments
Open

Comments

@juanramonua
Copy link

First of all, I think it is a very good idea to provide Keras with functionalities to work with graph networks. Currently, there is no alternative to PyG and the Keras functional API philosophy is very good. It is easy to implement, understand and maintain over time.

I would like to know the status of the GNNExplain module. I imagine that when kgcnn evolves to Keras 3.0 with JAX you will have to re-implement a lot of code and the explanation code has disappeared for the moment from the repository and the library.

My idea is to do some tests with small sized graphs on my own data and analyse the results with explainability, which is a general problem. A very important part now of any ML model is the explainability (in some way) of the model predictions.

Regards.

@PatReis
Copy link
Collaborator

PatReis commented Oct 16, 2023

Hello, thanks for checking out kgcnn.
Yes, the plan is to eventually bring all models (and maybe more) back to kgcnn 4.x.x , however, that is going to take a little bit of time.
So my plan is to first add a basic set of models like around 10 and make everything work with keras 3.0 when it is released,
so that we can release a kgcnn 4 version at the end of the year too. And then just add models from literature.
This should also include GNNExplainer since I want to port all notebooks and tools first.
Also you can check out MEGAN, which should come right after.

FYI: The mode I planned now take both ragged (not yet supported by keras) and padded tensor input. Under the hood both cast to disjoint. For best performance, I hope to provide some dataloaders either PyTorch or tf.data to directly feed in the disjoint graph representation. But I will write more in the docs, when I tested everything.

@PatReis
Copy link
Collaborator

PatReis commented Nov 21, 2023

I just modifed the GNNExplain module and updated the example notebooks. I will also try to add MEGAN soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants