From-scratch multithreaded CPU implementation of Graph Convolutional Networks (paper and blog).
A course project of CMU 15-618: Parallel Computer Architecture and Programming in 2019 Spring, by Liwei Cai (me) and Chengze Fan (@ccczzzf).
See the proposal for details.
# This is for GHC machines. Use the right way of "pip install" for your environment on other machines.
python3 -m pip install --user tensorflow scipy networkx
git clone https://github.com/tkipf/gcn.git
cd gcn
python3 setup.py install --user
cd gcn
python3 train.py
Either copy the data
folder in the original GCN repo to this repo and run convert_data.py
, or simply decompress data.tgz
.
make
./gcn-seq cora # dataset name
We use Catch2 for unit tests.
Download the single header file and put it in include/catch2/catch.hpp
. Then
make test
./gcn-test