Skip to content

hsjang0/DPM-SNC

Repository files navigation

Diffusion Probabilistic Models for Structured Node classification

This is an official implementation of our paper Diffusion Probabilistic Models for Structured Node classification (DPM-SNC) accepted at NeurIPS 2023.

Repository Overview

We provide the PyTorch implementation for DPM-SNC framework here. The repository is organised as follows:

|-- {transductive-node-classification, inductive-node-classification, graph-algorithm-reasoning} # DPM-GSP for supervised node classification, semi-supervised node classification, and reasoning tasks
    |-- config/ # configurations
    |-- parsers/ # the argument parser
    |-- models/ # model definition
    |-- method_series/ # training method
    |-- data/ # dataset
    |-- logs_train/ # training logs
    |-- utils/ # data process and others
    |-- main.py # the training code

Setting up the environment

You can set up the environment by following commands.

conda create -n DPM-SNC python=3.10
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch
pip install tqdm
pip install pyyaml
pip install easydict
pip install torch-sparse
pip install torch-scatter==2.0.9

You also need to install torch-geometric package. Each experiment requires a different version.

DPM-SNC for fully-supervised and reasoning

pip install torch-geometric==1.7.1

DPM-SNC-semi-supervised

pip install torch-geometric==2.1.0

Running

CUDA_VISIBLE_DEVICES=$GPU_DEVICE python main.py \
--config config_name

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages