/nas_gnn

Code for paper: Neural Architecture Search in Graph Neural Networks (BRACIS 2020)

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

Neural Architecture Search in Graph Neural Networks

9th Brazilian Conference on Intelligent Systems (BRACIS) - 2020

Matheus Nunes and Gisele L. Pappa

Overview

This repository is a fork of the original GraphNAS repository. It holds the code for the Evolutionary Algorithm (here) and Random Search (here) strategies, implemented for this paper.

A video presentation can be found here, and the slides can be found here.

Requirements

Recent versions of PyTorch, numpy, scipy, dgl, and torch_geometric are required.

We have provided a utility script that installs the dependencies, considering the usage of CUDA 10.1. If this is not your CUDA version, follow the instructions on the script.

Example run:

./virtualenv_script.sh /opt/cache # use this parameter if you would like to use a different dir. as pip's cache  

After executing this script, you will have an Anaconda powered virtual environment called py37 with the dependencies necessary to run the code in this repository.

Running the code

We have made available a script for generating the experiment combinations used in the paper. Just run:

./generate_experiment_combinations.sh [ea|rs|rl]  

The parameter is the desired optimizer: one of {ea, rl, rs}.

Results

The results are summarized into a jupyter notebook (here). If you would like to re-execute the notebook, please de-compress the results files macro_results.tar.xz and micro_results.tar.xz.

tar -xvf macro_results.tar.xz  

Acknowledgements

This repo is modified based on DGL, PYG and GraphNAS.