A generic GNN framework to enable rapid research and development with DGL.
Meant for general purpose graph learning tasks, specifically those which require large graphs and assays.
Documentation follows Google's Python style guidelines, with TODOs and supporting comments scattered throughout on an as needed basis. Entry point for the entire codebase is in main.py. 3 pipelines are available to run, as described in main.py documentation. Configuration files are stored as json files in config directory.
Stored in directory.txt (use Get-ChildItem | tree /F > foo.txt
in PowerShell to create your own)
First you'll want to create a new conda (or pip) env with Python 3.7
conda create -n env_name python=3.7 anaconda
source activate env_name
Before cloning into this repository:
git clone https://github.com/flawnson/Generic_GNN.git
OR
pip install git+https://github.com/flawnson/Generic_GNN.git
Then you can run setup.py
python setup.py
and install depedencies in the requirements.txt
pip install -r requirements.txt
Then you'll need to create an empty directory for model outputs (including saved models)
cd Generic_GNN && mkdir outputs
Finally you can run a demo version of the pipeline (default configs in configs directory)
python -c path/to/config/files/file.json -s path/to/schema/files/file.json
You can see the logged results using TensorBoard
tensorboard --logdir=logs/GAT_tuning/tune_model
None of the above will work without the correct data files, all of which are not publically available as of currently.
Change directories into the one with Dockerfile
and run (add tags as necessary):
docker build .
Copy the container ID and run the container by executing:
docker run -p port_number:8000 container_id
Be sure to stop (or kill if necessary) the container when not in use.
To my mentors and my friends whom have taught and inspired me all these years. Thanks to PyTorch Geometric for providing me with the background to use DGL, and DGL for providing me with a kick ass library.