Coder Social home page Coder Social logo

tmtianian / flowx Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cm-bf/flowx

0.0 0.0 0.0 57.09 MB

The official implementation of "FlowX: Towards Explainable Graph Neural Networks via Message Flows" [TPAMI 2023]

License: MIT License

Shell 0.01% Python 5.11% Jupyter Notebook 94.87%

flowx's Introduction

FlowX: Towards Explainable Graph Neural Networks via Message Flows [TPAMI 2023]

TPAMI arXiv License

Installation

  • Ubuntu 20.04
  • PyTorch 1.10.1
  • PyG 2.0.4
  • Others: Please refer to environment.yml and requirements.txt

Run FlowX

python -m benchmark.kernel.pipeline.py --task explain --model_name GCN_3l --dataset_name bbbp --target_idx 0 --explainer FlowX_plus --sparsity 0.7 --force_recalculate
  • task: [train, test, explain] controls the phase of explanations. Please run train before explaining.
  • model_name: [GCN_3l, GIN_3l] controls the GNN model waiting to be explained.
  • dataset_name controls the dataset used to be explained.
  • target_idx determines which task to explain when there are multiple tasks. When there is only 1 task, set it to be 0.
  • explainer determines the explainer used to explain the model we choose.
  • sparsity is a metric & hyperparameter that we can control to determine what percentage of edges/nodes/flows we want the explainer to return.
  • force_recalculate is generally used for debugging. When an explainer generate an explanation, this explanation will be saved and reused when needed. However, when this flag is set, explainers will never use saved explanations.

License

This project is licensed under the terms of the MIT license.

Citing FlowX

If you find FlowX useful in your research, please consider citing:

@ARTICLE{gui2023flowx,
  author={Gui, Shurui and Yuan, Hao and Wang, Jie and Lao, Qicheng and Li, Kang and Ji, Shuiwang},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence}, 
  title={FlowX: Towards Explainable Graph Neural Networks via Message Flows}, 
  year={2023},
  volume={},
  number={},
  pages={1-12},
  keywords={Graph neural networks;Task analysis;Predictive models;Electronic mail;Training;Philosophical considerations;Mutual information;Deep learning;graph neural networks;explainability;message passing neural networks},
  doi={10.1109/TPAMI.2023.3347470}}

flowx's People

Contributors

cm-bf avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.