Home

Awesome

GC-Flow

This repository contains the code for GC-Flow: A Graph-Based Flow Network for Effective Clustering publised in ICML 2023.

Installation

To run the project you will need to install the required packages:

pip install -r requirements.txt

Dependencies

We have the following dependencies:

PyTorch 1.8.1

TorchVision 0.9.1

tensorboardX 2.5.1

Run FlowGMM

Cora

python experiments/train_flows/train_gcflow.py --gpu 0 \
--dataset CORA --pcadim 50 --alg 'flowgmm' --num_epochs 400 \
--lr 0.003 --bs 2708  --net_config "{'hidden_dim':256,'flow_layers':4,'num_transform_blocks':6, 'dropout_ratio':0.0}" \
--gauss_config "{'means_r': 1.6, 'cov_std': 1.1}" --trainer_config "{'unlab_weight':0.2}"

Citeseer

python experiments/train_flows/train_gcflow.py --gpu 0 \
--dataset CITESEER --pcadim 100 --alg 'flowgmm' --num_epochs 400 \
--lr 0.003 --bs 3327  --net_config "{'hidden_dim':256,'flow_layers':10,'num_transform_blocks':6, 'dropout_ratio':0.1}" \
--gauss_config "{'means_r': 2.0, 'cov_std': 1.5}" --trainer_config "{'unlab_weight':0.01}"

Pubmed

python experiments/train_flows/train_gcflow.py --gpu 0 \
--dataset PUBMED --pcadim 50 --alg 'flowgmm' --num_epochs 400 \
--lr 0.002 --bs 19717  --net_config "{'hidden_dim':256,'flow_layers':12,'num_transform_blocks':6, 'dropout_ratio':0.1}" \
--gauss_config "{'means_r': 1.6, 'cov_std': 1.1}" --trainer_config "{'unlab_weight':0.4}"

Run GC-Flow

Cora

python experiments/train_flows/train_gcflow.py --gpu 0 \
--dataset CORA --pcadim 50 --alg 'gcflow' --num_epochs 400 \
--lr 0.003 --bs 2708  --net_config "{'hidden_dim':256,'flow_layers':4,'num_transform_blocks':6, 'dropout_ratio':0.5}" \
--gauss_config "{'means_r': 1.6, 'cov_std': 1.1}" --trainer_config "{'unlab_weight':0.2}"

Citeseer

python experiments/train_flows/train_gcflow.py --gpu 0 \
--dataset CITESEER --pcadim 100 --alg 'gcflow' --num_epochs 400 \
--lr 0.003 --bs 3327  --net_config "{'hidden_dim':256,'flow_layers':10,'num_transform_blocks':6, 'dropout_ratio':0.3}" \
--gauss_config "{'means_r': 1.8, 'cov_std': 1.3}" --trainer_config "{'unlab_weight':0.01}"

Pubmed

python experiments/train_flows/train_gcflow.py --gpu 0 \
--dataset PUBMED --pcadim 50 --alg 'gcflow' --num_epochs 400 \
--lr 0.002 --bs 19717  --net_config "{'hidden_dim':256,'flow_layers':10,'num_transform_blocks':6, 'dropout_ratio':0.2}" \
--gauss_config "{'means_r': 1.6, 'cov_std': 1.1}" --trainer_config "{'unlab_weight':0.4}"

Citation:

@INPROCEEDINGS{Wang2023,
  AUTHOR = {Tianchun Wang and Farzaneh Mirzazadeh and Xiang Zhang and Jie Chen},
  TITLE = {{GC-Flow}: A Graph-Based Flow Network for Effective Clustering},
  BOOKTITLE = {Proceedings of the Fortieth International Conference on Machine Learning},
  YEAR = {2023},
}

References: