Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/edouardoyallon/interferometric-graph-transform
This repository contains the code corresponding to the ICML-2020 publication: https://arxiv.org/abs/2006.05722
https://github.com/edouardoyallon/interferometric-graph-transform
deep-learning graphs
Last synced: 13 days ago
JSON representation
This repository contains the code corresponding to the ICML-2020 publication: https://arxiv.org/abs/2006.05722
- Host: GitHub
- URL: https://github.com/edouardoyallon/interferometric-graph-transform
- Owner: edouardoyallon
- Created: 2020-05-22T15:53:55.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-11-06T15:53:10.000Z (about 4 years ago)
- Last Synced: 2025-01-10T14:43:55.939Z (14 days ago)
- Topics: deep-learning, graphs
- Language: Python
- Homepage:
- Size: 32.2 KB
- Stars: 11
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Interferometric Graph Transform
This repository contains the code corresponding to the ICML-2020 publication: https://arxiv.org/abs/2006.05722
If you have some troubles to reproduce some results, some questions regarding the code or even find a bug, please open directly an issue
in this repository. If your questions concern some technical elements of the paper, please send directly an email to the author, firstname.name[AT]lip6.frIf you wish to cite this paper, please use:
```@inproceedings{oyallon2020interferometric,
title={Interferometric Graph Transform: a Deep Unsupervised Graph Representation},
author={Oyallon, Edouard},
booktitle={37th International Conference on Machine Learning (ICML 2020)},
year={2020}
}
```## Reproducing the numerical results
In order to reproduce the experiments of the paper Interferometric Graph Transform: a Deep Unsupervised Graph Representation,
make sure you have `pytorch` and `python 3` installed, as well as `MATLAB` (only for the Haar Scattering experiments) and please
follow the next instructions.### Community detection experiments
Please replace (or add) the files of https://github.com/alelab-upenn/graph-scattering-transforms with the ones in the folder "community-detection". Then run the code as described in this GitHub repository, by adding the corresponding dataset, as described.
### Images experiments
Please run the following instructions on a GPU:
#### CIFAR10/MNIST, graph
`$DATASET=cifar/mnist`, `$PATH_TO_MODEL` refers to the path in which the first script stores the weight of the model.
```
python build_representation.py --K 40 --J 3 --lr_schedule '{0:1e0,500:1e-1,1000:1e-2,1500:1e-3}' --epochs 5 --dataset $DATASET
python classif.py --J 3 --feature interferometric --C 1e-3 --mode 1 --classifier 'svm' --dataset $DATASET --path $PATH_TO_MODEL
```#### CIFAR10, scattering
```
python classif.py --J 3 --feature scattering --C 1e-3 --mode 1 --classifier 'svm' --dataset cifar
```### Graph experiments
#### NTU/SBU
Move the dataset (available https://github.com/mazariahmed06/graph_skeletons) in the same folder as the main file, then `$DATASET=NTU_xview_values/NTU_xsub_values/SBU`,
`$PATH_TO_MODEL` refers to the path in which the first script stores the weight of the model, `$ORDER` is the required order and
`$K` the respective number of filters, which should end by 0 (e.g., `$ORDER=1` leads to `$K=30,0` for instance).Finally, `$LR_SCHEDULE` must be the learning rate schedule reported in the paper (as above). Add `--no_averaging` to remove the averaging from
the experiments, yet this will substantially increase the computation time because the representation is larger.```
python build_representation_graph.py --K $K --order $ORDER --lr_schedule $LR_SCHEDULE --epochs 5 --data_name $DATASET
python classif_graph.py --mode 'svm' --order 1 --data_name $DATASET --file $PATH_TO_MODEL --K 10,5,0 --C 1e-1
```#### Haar scattering
First download ``HaarScat`` from https://www.di.ens.fr/data/software/ and then switch and run the scripts in the folder demo that we provided.