All Projects → sinhasam → Vaal

sinhasam / Vaal

Licence: bsd-2-clause
Variational Adversarial Active Learning (ICCV 2019)

Projects that are alternatives of or similar to Vaal

Categoricalencodingbenchmark
Benchmarking different approaches for categorical encoding for tabular data
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Benchmarks
Comparison tools
Stars: ✭ 139 (-0.71%)
Mutual labels:  jupyter-notebook
Lmkor
Pretrained Language Models for Korean
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Interactive Corporate Report
ICR - Automated and Intelligent Company Report Built in Python (by @firmai)
Stars: ✭ 139 (-0.71%)
Mutual labels:  jupyter-notebook
Interactive machine learning
IPython widgets, interactive plots, interactive machine learning
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Python For Algorithms Data Structures And Interviews
Files for Udemy Course on Algorithms and Data Structures
Stars: ✭ 1,917 (+1269.29%)
Mutual labels:  jupyter-notebook
Dash eth
This project is trying to fetch real time balance & orderbook of ETH and visualise using dash
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Data science blogs
A repository to keep track of all the code that I end up writing for my blog posts.
Stars: ✭ 139 (-0.71%)
Mutual labels:  jupyter-notebook
Imageprocessing
MicaSense RedEdge and Altum image processing tutorials
Stars: ✭ 139 (-0.71%)
Mutual labels:  jupyter-notebook
Scipy Tutorial 2015
Geospatial data tutorial
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Rootfinder
Arabic root finder with neural nets!
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Recotour
A tour through recommendation algorithms in python [IN PROGRESS]
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Nlpaug
Data augmentation for NLP
Stars: ✭ 2,761 (+1872.14%)
Mutual labels:  jupyter-notebook
Dnp
Audio Denoising with Deep Network Priors
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Python Youtube Code
Stars: ✭ 139 (-0.71%)
Mutual labels:  jupyter-notebook
Voc2coco
How to create custom COCO data set for object detection
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook
Practical Machine Learning With Python
Master the essential skills needed to recognize and solve complex real-world problems with Machine Learning and Deep Learning by leveraging the highly popular Python Machine Learning Eco-system.
Stars: ✭ 1,868 (+1234.29%)
Mutual labels:  jupyter-notebook
Hpo2nas Tutorial Cvpr Eccv2020
Hands-on Tutorial on Automated Deep Learning
Stars: ✭ 141 (+0.71%)
Mutual labels:  jupyter-notebook
Data Structure And Algorithm Using Python
In computer science, a data structure is a data organization, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data. (Using Python 3)
Stars: ✭ 141 (+0.71%)
Mutual labels:  jupyter-notebook
Pysankey
create sankey diagrams with matplotlib
Stars: ✭ 140 (+0%)
Mutual labels:  jupyter-notebook

VAAL in PyTorch

Update: For any questions, please email me at [email protected], since I often don't get GitHub emails.

Original Pytorch implementation of "Variational Adversarial Active Learning" (ICCV 2019 Oral). Link to the paper.

Samarth Sinha*, Sayna Ebrahimi*, Trevor Darrell, Internation Conference on Computer Vision (ICCV 2019)

First two authors contributed equally

Abstract

Active learning aims to develop label-efficient algorithms by sampling the most representative queries to be labeled by an oracle. We describe a pool-based semi-supervised active learning algorithm that implicitly learns this sampling mechanism in an adversarial manner. Unlike conventional active learning algorithms, our approach is \textit{task agnostic}, i.e., it does not depend on the performance of the task for which we are trying to acquire labeled data. Our method learns a latent space using a variational autoencoder (VAE) and an adversarial network trained to discriminate between unlabeled and labeled data. The mini-max game between the VAE and the adversarial network is played such that while the VAE tries to trick the adversarial network into predicting that all data points are from the labeled pool, the adversarial network learns how to discriminate between dissimilarities in the latent space. We extensively evaluate our method on various image classification and semantic segmentation benchmark datasets and establish a new state of the art on CIFAR10/100, Caltech-256, ImageNet, Cityscapes, and BDD100K. Our results demonstrate that our adversarial approach learns an effective low dimensional latent space in large-scale settings and provides for a computationally efficient sampling method.

Citation

If using this code, parts of it, or developments from it, please cite our paper:

@article{sinha2019variational,
  title={Variational Adversarial Active Learning},
  author={Sinha, Samarth and Ebrahimi, Sayna and Darrell, Trevor},
  journal={arXiv preprint arXiv:1904.00370},
  year={2019}
}

Prerequisites:

  • Linux or macOS
  • Python 3.5/3.6
  • CPU compatible but NVIDIA GPU + CUDA CuDNN is highly recommended.

Installation

The required Python3 packages can be installed using

pip3 install -r requirements.txt

Experiments and Visualization

The code can simply be run using

python3 main.py

When using the model with different datasets or different variants, the main hyperparameters to tune are

--adversary_param --beta --num_vae_steps and --num_adv_steps

The results will be saved in results/accuracies.log.

We have provided the code and data required to replicate all plots in paper here.

License

The entire codebase is under BSD 2-Clause License.

Contact

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].