Code for Neurips2021 Paper "Topology-Imbalance Learning for Semi-Supervised Node Classification".

Related tags

Deep LearningReNode
Overview

Topology-Imbalance Learning for Semi-Supervised Node Classification

Introduction

Code for NeurIPS 2021 paper "Topology-Imbalance Learning for Semi-Supervised Node Classification"

Overview Figure This work investigates the topology-imbalance problem of node representation learning on graph-structured data. Unlike the "quantity-imbalance" problem, the topology imbalance is caused by the topological properties of the labeled nodes, i.e., the locations of the labeled nodes on the graph can influence how information is spread over the entire graph.

The conflict-detection based metric Totoro is proposed for measuring the degree of topology imbalance. Moreover, the ReNode method is proposed to relieve the topology imbalance issue for both transductive setting and inductive setting.

Transductive Setting

a) Introduction

The code for the transductive setting semi-supervised learning. Including the CORA/CiteSeer/PubMed/Photo/Computers experiment datasets as shown in paper. It is implemented mainly based on pytorch_geometric project: https://github.com/rusty1s/pytorch_geometric

b) Quick Start

  • Prepare conda enviroment; more package info can be found in "requirements.txt"
  • Set the operations in 'opt.py'; some important operations are listed:
    1. Experiment Dataset (the dataset will be downloaded automatically at the first running time): set data_name = ['cora','citeseer','pubmed','photo','computers']
    2. Backbone GNN':
      set model = ['sgc','ppnp','gcn','gat','sage','cheb']
    3. Training Loss:
      set loss-name = ['ce','focal','re-weight','cb-softmax']
    4. ReNode Method:
      set renode-reweight = 1/0 to open/close ReNode
      set rn-base-weight as the lowerbound of the ReNode Factor
      set rn-scale-weight as the scale range of the ReNode Factor
    5. Imbalance Issue:
      set size-imb-type = 'none' if study TINL-only
      set size-imb-type = 'step' if study TINL&QINL
  • Running command: 'python transductive_run.py'

Inductive Setting

a) Introduction

The code for the inductive setting semi-supervised learning. Including the Reddit and MAG-Scholar datasets. It is branched from the PPRGo project: https://github.com/TUM-DAML/pprgo_pytorch.

b) Quick Start

  • Prepare conda enviroment; more package info can be found in "requirements.txt"

  • Prepare the dataset file from the following public source:

    1. Reddit: https://github.com/TUM-DAML/pprgo_pytorch/blob/master/data/get_reddit.md
    2. MAG-Scholar: https://figshare.com/articles/dataset/mag_scholar/12696653/2
  • Set the operations in 'config.yaml'; some important operations are listed:

    1. ReNode Method:
      for baseline: set base_w = 1 and scale_w = 0
      for method: set base_w and scale_w
    2. Training Size:
      set ntrain_div_classes
    3. Imbalance Issue:
      set issue_type = 'tinl' if considering topology imbalance only
      set issue_type = 'qinl' if jointly considering topology- and quantity-imbalance
  • Running command: 'python inductive_run.py'

License

MIT License

Contact

Please feel free to email me (chendeli96 [AT] gmail.com) for any questions about this work.

Citation

@inproceedings{chen2021renode,
  author    = {Deli, Chen and Yankai, Lin and Guangxiang, Zhao and Xuancheng, Ren and Peng, Li and Jie, Zhou and Xu, Sun},
  title     = {{Topology-Imbalance Learning for Semi-Supervised Node Classification}},
  booktitle = {NeurIPS},
  year      = {2021}
}
Owner
Victor Chen
Victor Chen
Quasi-Dense Similarity Learning for Multiple Object Tracking, CVPR 2021 (Oral)

Quasi-Dense Tracking This is the offical implementation of paper Quasi-Dense Similarity Learning for Multiple Object Tracking. We present a trailer th

ETH VIS Research Group 327 Dec 27, 2022
Training vision models with full-batch gradient descent and regularization

Stochastic Training is Not Necessary for Generalization -- Training competitive vision models without stochasticity This repository implements trainin

Jonas Geiping 32 Jan 06, 2023
Repository of 3D Object Detection with Pointformer (CVPR2021)

3D Object Detection with Pointformer This repository contains the code for the paper 3D Object Detection with Pointformer (CVPR 2021) [arXiv]. This wo

Zhuofan Xia 117 Jan 06, 2023
Keras implementation of PersonLab for Multi-Person Pose Estimation and Instance Segmentation.

PersonLab This is a Keras implementation of PersonLab for Multi-Person Pose Estimation and Instance Segmentation. The model predicts heatmaps and vari

OCTI 160 Dec 21, 2022
Paper: Cross-View Kernel Similarity Metric Learning Using Pairwise Constraints for Person Re-identification

Cross-View Kernel Similarity Metric Learning Using Pairwise Constraints for Person Re-identification T M Feroz Ali, Subhasis Chaudhuri, ICVGIP-20-21

T M Feroz Ali 3 Jun 17, 2022
Implementation of Ag-Grid component for Streamlit

streamlit-aggrid AgGrid is an awsome grid for web frontend. More information in https://www.ag-grid.com/. Consider purchasing a license from Ag-Grid i

Pablo Fonseca 556 Dec 31, 2022
iPOKE: Poking a Still Image for Controlled Stochastic Video Synthesis

iPOKE: Poking a Still Image for Controlled Stochastic Video Synthesis iPOKE: Poking a Still Image for Controlled Stochastic Video Synthesis Andreas Bl

CompVis Heidelberg 36 Dec 25, 2022
🛠 All-in-one web-based IDE specialized for machine learning and data science.

All-in-one web-based development environment for machine learning Getting Started • Features & Screenshots • Support • Report a Bug • FAQ • Known Issu

Machine Learning Tooling 2.9k Jan 09, 2023
Get the partition that a file belongs and the percentage of space that consumes

tinos_eisai_sy Get the partition that a file belongs and the percentage of space that consumes (works only with OSes that use the df command) tinos_ei

Konstantinos Patronas 6 Jan 24, 2022
[ICCV 2021] Official Pytorch implementation for Discriminative Region-based Multi-Label Zero-Shot Learning SOTA results on NUS-WIDE and OpenImages

Discriminative Region-based Multi-Label Zero-Shot Learning (ICCV 2021) [arXiv][Project page coming soon] Sanath Narayan*, Akshita Gupta*, Salman Kh

Akshita Gupta 54 Nov 21, 2022
Code for paper "Do Language Models Have Beliefs? Methods for Detecting, Updating, and Visualizing Model Beliefs"

This is the codebase for the paper: Do Language Models Have Beliefs? Methods for Detecting, Updating, and Visualizing Model Beliefs Directory Structur

Peter Hase 19 Aug 21, 2022
Implementation of gaze tracking and demo

Predicting Customer Demand by Using Gaze Detecting and Object Tracking This project is the integration of gaze detecting and object tracking. Predict

2 Oct 20, 2022
Summary Explorer is a tool to visually explore the state-of-the-art in text summarization.

Summary Explorer Summary Explorer is a tool to visually inspect the summaries from several state-of-the-art neural summarization models across multipl

Webis 42 Aug 14, 2022
Official implementation of Long-Short Transformer in PyTorch.

Long-Short Transformer (Transformer-LS) This repository hosts the code and models for the paper: Long-Short Transformer: Efficient Transformers for La

NVIDIA Corporation 198 Dec 29, 2022
sense-py-AnishaBaishya created by GitHub Classroom

Compute Statistics Here we compute statistics for a bunch of numbers. This project uses the unittest framework to test functionality. Pass the tests T

1 Oct 21, 2021
PyTorch framework for Deep Learning research and development.

Accelerated DL & RL PyTorch framework for Deep Learning research and development. It was developed with a focus on reproducibility, fast experimentati

Catalyst-Team 29 Jul 13, 2022
Rethinking of Pedestrian Attribute Recognition: A Reliable Evaluation under Zero-Shot Pedestrian Identity Setting

Pytorch Pedestrian Attribute Recognition: A strong PyTorch baseline of pedestrian attribute recognition and multi-label classification.

Jian 79 Dec 18, 2022
PyTorch implementation of image classification models for CIFAR-10/CIFAR-100/MNIST/FashionMNIST/Kuzushiji-MNIST/ImageNet

PyTorch Image Classification Following papers are implemented using PyTorch. ResNet (1512.03385) ResNet-preact (1603.05027) WRN (1605.07146) DenseNet

1.2k Jan 04, 2023
A plug-and-play library for neural networks written in Python

A plug-and-play library for neural networks written in Python!

Dimos Michailidis 2 Jul 16, 2022
code for paper "Not All Unlabeled Data are Equal: Learning to Weight Data in Semi-supervised Learning" by Zhongzheng Ren*, Raymond A. Yeh*, Alexander G. Schwing.

Not All Unlabeled Data are Equal: Learning to Weight Data in Semi-supervised Learning Overview This code is for paper: Not All Unlabeled Data are Equa

Jason Ren 22 Nov 23, 2022