Sequential GCN for Active Learning

Overview

Sequential GCN for Active Learning

Please cite if using the code: Link to paper.

Requirements:

python 3.6+

torch 1.0+

pip libraries: tqdm, sklearn, scipy, math

Run:

For running UncertainGCN on CIFAR-10 over 5 sampling stages of 1000 images:

python main.py -m UncertainGCN -d cifar10 -c 5 # Other available datasets cifar100, fashionmnist, svhn

CoreGCN, the geometric method that uses GCN training, can be run as:

python main.py -m CoreGCN -d cifar10 -c 5 # Other AL methods: Random, VAAL, CoreSet, lloss

Please have a look over the config file before running. Also, check the args of the code. CUDA-GPU implementation, not tested on CPU. Different random seed might produce different results.

Active Learning methods implemented:

Active Learning for Convolutional Neural Networks: A Core-Set Approach: https://arxiv.org/pdf/1708.00489.pdf [CoreSet]

Learning Loss for Active Learning: https://arxiv.org/pdf/1905.03677.pdf [lloss]

Variational Adversial Active Learning: https://arxiv.org/pdf/1904.00370.pdf [VAAL]

Contact

If there are any questions or concerns feel free to send a message at: [email protected]

Comments
  • Coreset method error

    Coreset method error

    Hi, i tried to reproduce your code, but i have error when i use "CoreSet" like below. already i tried 'Random' and 'UncertainGCN' are fine(No error) could you check my error message like below and how to fix?

    =================================================================== (sgcn) jaesunghwang@snu-aril-1:~/Sequential-GCN-for-Active-Learning$ python main.py -m CoreSet -d cifar10 -c 5 Dataset: cifar10 Method type:CoreSet Files already downloaded and verified Files already downloaded and verified Files already downloaded and verified

    Train a Model. Finished.
    Trial 1/5 || Cycle 1/5 || Label set size 1000: Test acc 33.51 Traceback (most recent call last): File "main.py", line 142, in arg = query_samples(models, method, data_unlabeled, subset, labeled_set, cycle, args) File "/home/jaesunghwang/Sequential-GCN-for-Active-Learning/selection_methods.py", line 279, in query_samples arg = get_kcg(models, ADDENDUM*(cycle+1), unlabeled_loader) UnboundLocalError: local variable 'models' referenced before assignment

    opened by jaesunghwang 1
  • Super adjacency matrix

    Super adjacency matrix

    For large data sets such as Imagenet, when constructing adjacency matrix, the program memory and video memory will explode. Is there any good solution

    opened by lijiaoyang 2
  • Training and Testing for ImageNet

    Training and Testing for ImageNet

    Hi, I want to use the repository for the ImageNet dataset, I am not getting the significance of the Subset variable in config.py, Can you please explain the use of the Subset variable

    opened by manza-ari 0
  • Trouble reproducing numbers in paper

    Trouble reproducing numbers in paper

    Hello,

    I am also having trouble reproducing the numbers shown in the paper for CIFAR-10. I corrected a bug in the main.py where the "--e" option for number of epochs was set to 20 epochs; however, after increasing to 200 epochs for training the ResNet18 model, I still cannot reproduce numbers for multiple active learning algorithms in the repository.

    I would appreciate if the authors could verify that this repository reproduces numbers from the paper on CIFAR-10.

    For reference, I have provided the numbers I am getting on CIFAR-10 across 5 trials for random sampling, UncertainGCN, CoreGCN, CoreSet, and lloss below:

    Random: Format: (N_labeled): mean +/- std. dev. ('1000'): 47.3240 +/- 0.8149 ('2000'): 58.2420 +/- 2.9056 ('3000'): 66.7560 +/- 1.8256 ('4000'): 73.1400 +/- 2.2483 ('5000'): 76.5840 +/- 1.3432

    UncertainGCN: Format: (N_labeled): mean +/- std. dev. ('1000'): 48.2180 +/- 4.0055 ('2000'): 56.7860 +/- 1.9462 ('3000'): 66.4640 +/- 2.8965 ('4000'): 75.3840 +/- 1.1915 ('5000'): 79.9500 +/- 1.1942

    CoreGCN: Format: (N_labeled): mean +/- std. dev. ('1000'): 48.0840 +/- 1.1299 ('2000'): 56.9900 +/- 3.5209 ('3000'): 70.1080 +/- 2.7946 ('4000'): 74.8480 +/- 1.9183 ('5000'): 80.8940 +/- 1.4228

    CoreSet: ('1000'): 46.2820 +/- 2.5461 ('2000'): 59.5800 +/- 2.0735 ('3000'): 69.4400 +/- 1.9787 ('4000'): 75.4380 +/- 1.0835 ('5000'): 80.2420 +/- 1.2786

    lloss: Format: (N_labeled): mean +/- std. dev. ('1000'): 46.6760 +/- 1.5340 ('2000'): 62.6260 +/- 1.5213 ('3000'): 70.5440 +/- 2.7696 ('4000'): 76.1500 +/- 1.7544 ('5000'): 80.8800 +/- 1.3885

    Thank you for your time!

    opened by corey-snyder 3
  • Performance on full data

    Performance on full data

    Hi,

    I wanted to increase the labeled set size for VAAL and LLoss methods. What is the purpose of ADDENDUM variable? I want to see the performance on full data. When I increase the Addendum variable it shows a bigger data sample but the same accuracy.

    opened by manza-ari 1
  • pretrian model

    pretrian model

    I downloaded the code and trained directly. It seems that the accuracy does not reach the level in the paper. Is there a pre-trained model in the training process

    opened by qingwuz 1
Owner
null
A PyTorch implementation of "Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks" (KDD 2019).

ClusterGCN ⠀⠀ A PyTorch implementation of "Cluster-GCN: An Efficient Algorithm for Training Deep and Large Graph Convolutional Networks" (KDD 2019). A

Benedek Rozemberczki 697 Dec 27, 2022
Spatial Temporal Graph Convolutional Networks (ST-GCN) for Skeleton-Based Action Recognition in PyTorch

Reminder ST-GCN has transferred to MMSkeleton, and keep on developing as an flexible open source toolbox for skeleton-based human understanding. You a

sijie yan 1.1k Dec 25, 2022
Official repository for GCR rerank, a GCN-based reranking method for both image and video re-ID

Official repository for GCR rerank, a GCN-based reranking method for both image and video re-ID

null 53 Nov 22, 2022
Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.

This is the Vowpal Wabbit fast online learning code. Why Vowpal Wabbit? Vowpal Wabbit is a machine learning system which pushes the frontier of machin

Vowpal Wabbit 8.1k Jan 6, 2023
Learning from History: Modeling Temporal Knowledge Graphs with Sequential Copy-Generation Networks

CyGNet This repository reproduces the AAAI'21 paper “Learning from History: Modeling Temporal Knowledge Graphs with Sequential Copy-Generation Network

CunchaoZ 89 Jan 3, 2023
Weighing Counts: Sequential Crowd Counting by Reinforcement Learning

LibraNet This repository includes the official implementation of LibraNet for crowd counting, presented in our paper: Weighing Counts: Sequential Crow

Hao Lu 18 Nov 5, 2022
Moving Object Segmentation in 3D LiDAR Data: A Learning-based Approach Exploiting Sequential Data

LiDAR-MOS: Moving Object Segmentation in 3D LiDAR Data This repo contains the code for our paper: Moving Object Segmentation in 3D LiDAR Data: A Learn

Photogrammetry & Robotics Bonn 394 Dec 29, 2022
DTCN SMP Challenge - Sequential prediction learning framework and algorithm

DTCN This is the implementation of our paper "Sequential Prediction of Social Me

Bobby 2 Jan 24, 2022
DTCN IJCAI - Sequential prediction learning framework and algorithm

DTCN This is the implementation of our paper "Sequential Prediction of Social Me

Bobby 2 Jan 24, 2022
Tutorial on active learning with the Nvidia Transfer Learning Toolkit (TLT).

Active Learning with the Nvidia TLT Tutorial on active learning with the Nvidia Transfer Learning Toolkit (TLT). In this tutorial, we will show you ho

Lightly 25 Dec 3, 2022
Sequential Model-based Algorithm Configuration

SMAC v3 Project Copyright (C) 2016-2018 AutoML Group Attention: This package is a reimplementation of the original SMAC tool (see reference below). Ho

AutoML-Freiburg-Hannover 778 Jan 5, 2023
Sequential model-based optimization with a `scipy.optimize` interface

Scikit-Optimize Scikit-Optimize, or skopt, is a simple and efficient library to minimize (very) expensive and noisy black-box functions. It implements

Scikit-Optimize 2.5k Jan 4, 2023
Leveraging Two Types of Global Graph for Sequential Fashion Recommendation, ICMR 2021

This is the repo for the paper: Leveraging Two Types of Global Graph for Sequential Fashion Recommendation Requirements OS: Ubuntu 16.04 or higher ver

Yujuan Ding 10 Oct 10, 2022
StackRec: Efficient Training of Very Deep Sequential Recommender Models by Iterative Stacking

StackRec: Efficient Training of Very Deep Sequential Recommender Models by Iterative Stacking Datasets You can download datasets that have been pre-pr

null 25 May 29, 2022
Synthetic LiDAR sequential point cloud dataset with point-wise annotations

SynLiDAR dataset: Learning From Synthetic LiDAR Sequential Point Cloud This is official repository of the SynLiDAR dataset. For technical details, ple

null 78 Dec 27, 2022
Recurrent Variational Autoencoder that generates sequential data implemented with pytorch

Pytorch Recurrent Variational Autoencoder Model: This is the implementation of Samuel Bowman's Generating Sentences from a Continuous Space with Kim's

Daniil Gavrilov 347 Nov 14, 2022
Transformers4Rec is a flexible and efficient library for sequential and session-based recommendation, available for both PyTorch and Tensorflow.

Transformers4Rec is a flexible and efficient library for sequential and session-based recommendation, available for both PyTorch and Tensorflow.

null 730 Jan 9, 2023
Locally Constrained Self-Attentive Sequential Recommendation

LOCKER This is the pytorch implementation of this paper: Locally Constrained Self-Attentive Sequential Recommendation. Zhankui He, Handong Zhao, Zhe L

Zhankui (Aaron) He 8 Jul 30, 2022
A PaddlePaddle implementation of Time Interval Aware Self-Attentive Sequential Recommendation.

TiSASRec.paddle A PaddlePaddle implementation of Time Interval Aware Self-Attentive Sequential Recommendation. Introduction 论文:Time Interval Aware Sel

Paddorch 2 Nov 28, 2021