All Projects → samet-akcay → Ganomaly

samet-akcay / Ganomaly

Licence: mit
GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Ganomaly

Ad examples
A collection of anomaly detection methods (iid/point-based, graph and time series) including active learning for anomaly detection/discovery, bayesian rule-mining, description for diversity/explanation/interpretability. Analysis of incorporating label feedback with ensemble and tree-based detectors. Includes adversarial attacks with Graph Convolutional Network.
Stars: ✭ 641 (+13.85%)
Mutual labels:  gan, anomaly-detection
Gpnd
Generative Probabilistic Novelty Detection with Adversarial Autoencoders
Stars: ✭ 112 (-80.11%)
Mutual labels:  gan, anomaly-detection
Gans In Action
Companion repository to GANs in Action: Deep learning with Generative Adversarial Networks
Stars: ✭ 748 (+32.86%)
Mutual labels:  gan, semi-supervised-learning
Deep Sad Pytorch
A PyTorch implementation of Deep SAD, a deep Semi-supervised Anomaly Detection method.
Stars: ✭ 152 (-73%)
Mutual labels:  anomaly-detection, semi-supervised-learning
deviation-network
Source code of the KDD19 paper "Deep anomaly detection with deviation networks", weakly/partially supervised anomaly detection, few-shot anomaly detection
Stars: ✭ 94 (-83.3%)
Mutual labels:  semi-supervised-learning, anomaly-detection
Acgan Pytorch
Pytorch implementation of Conditional Image Synthesis with Auxiliary Classifier GANs
Stars: ✭ 57 (-89.88%)
Mutual labels:  gan, semi-supervised-learning
Visual Feature Attribution Using Wasserstein Gans Pytorch
Implementation of Visual Feature Attribution using Wasserstein GANs (VAGANs, https://arxiv.org/abs/1711.08998) in PyTorch
Stars: ✭ 88 (-84.37%)
Mutual labels:  gan, anomaly-detection
Anogan Keras
Unsupervised anomaly detection with generative model, keras implementation
Stars: ✭ 157 (-72.11%)
Mutual labels:  gan, anomaly-detection
Anogan Tf
Unofficial Tensorflow Implementation of AnoGAN (Anomaly GAN)
Stars: ✭ 218 (-61.28%)
Mutual labels:  gan, anomaly-detection
Triple Gan
See Triple-GAN-V2 in PyTorch: https://github.com/taufikxu/Triple-GAN
Stars: ✭ 203 (-63.94%)
Mutual labels:  gan, semi-supervised-learning
Unsupervised-Anomaly-Detection-with-Generative-Adversarial-Networks
Unsupervised Anomaly Detection with Generative Adversarial Networks on MIAS dataset
Stars: ✭ 95 (-83.13%)
Mutual labels:  gan, anomaly-detection
catgan pytorch
Unsupervised and Semi-supervised Learning with Categorical Generative Adversarial Networks
Stars: ✭ 50 (-91.12%)
Mutual labels:  gan, semi-supervised-learning
Ssgan Tensorflow
A Tensorflow implementation of Semi-supervised Learning Generative Adversarial Networks (NIPS 2016: Improved Techniques for Training GANs).
Stars: ✭ 496 (-11.9%)
Mutual labels:  gan, semi-supervised-learning
Deep Learning Book
《Deep Learning》《深度学习》 by Ian Goodfellow, Yoshua Bengio and Aaron Courville
Stars: ✭ 492 (-12.61%)
Mutual labels:  gan
Bmsg Gan
[MSG-GAN] Any body can GAN! Highly stable and robust architecture. Requires little to no hyperparameter tuning. Pytorch Implementation
Stars: ✭ 518 (-7.99%)
Mutual labels:  gan
T2f
T2F: text to face generation using Deep Learning
Stars: ✭ 494 (-12.26%)
Mutual labels:  gan
Deblur Gan
Keras implementation of "DeblurGAN: Blind Motion Deblurring Using Conditional Adversarial Networks"
Stars: ✭ 483 (-14.21%)
Mutual labels:  gan
Awesome Semi Supervised Learning
📜 An up-to-date & curated list of awesome semi-supervised learning papers, methods & resources.
Stars: ✭ 538 (-4.44%)
Mutual labels:  semi-supervised-learning
Hidt
Official repository for the paper "High-Resolution Daytime Translation Without Domain Labels" (CVPR2020, Oral)
Stars: ✭ 513 (-8.88%)
Mutual labels:  gan
Textgan Pytorch
TextGAN is a PyTorch framework for Generative Adversarial Networks (GANs) based text generation models.
Stars: ✭ 479 (-14.92%)
Mutual labels:  gan

GANomaly

This repository contains PyTorch implementation of the following paper: GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training [1]

1. Table of Contents

2. Installation

  1. First clone the repository
    git clone https://github.com/samet-akcay/ganomaly.git
    
  2. Create the virtual environment via conda
    conda create -n ganomaly python=3.7
    
  3. Activate the virtual environment.
    conda activate ganomaly
    
  4. Install the dependencies.
    conda install -c intel mkl_fft
    pip install --user --requirement requirements.txt
    

3. Experiment

To replicate the results in the paper for MNIST and CIFAR10 datasets, run the following commands:

# MNIST
sh experiments/run_mnist.sh

# CIFAR
sh experiments/run_cifar.sh # CIFAR10

4. Training

To list the arguments, run the following command:

python train.py -h

4.1. Training on MNIST

To train the model on MNIST dataset for a given anomaly class, run the following:

python train.py \
    --dataset mnist                         \
    --niter <number-of-epochs>              \
    --abnormal_class <0,1,2,3,4,5,6,7,8,9>  \
    --display                               # optional if you want to visualize     

4.2. Training on CIFAR10

To train the model on CIFAR10 dataset for a given anomaly class, run the following:

python train.py \
    --dataset cifar10                                                   \
    --niter <number-of-epochs>                                          \
    --abnormal_class                                                    \
        <plane, car, bird, cat, deer, dog, frog, horse, ship, truck>    \
    --display                       # optional if you want to visualize        

4.3. Train on Custom Dataset

To train the model on a custom dataset, the dataset should be copied into ./data directory, and should have the following directory & file structure:

Custom Dataset
├── test
│   ├── 0.normal
│   │   └── normal_tst_img_0.png
│   │   └── normal_tst_img_1.png
│   │   ...
│   │   └── normal_tst_img_n.png
│   ├── 1.abnormal
│   │   └── abnormal_tst_img_0.png
│   │   └── abnormal_tst_img_1.png
│   │   ...
│   │   └── abnormal_tst_img_m.png
├── train
│   ├── 0.normal
│   │   └── normal_tst_img_0.png
│   │   └── normal_tst_img_1.png
│   │   ...
│   │   └── normal_tst_img_t.png

Then model training is the same as training MNIST or CIFAR10 datasets explained above.

python train.py                     \
    --dataset <name-of-the-data>    \
    --isize <image-size>            \
    --niter <number-of-epochs>      \
    --display                       # optional if you want to visualize

For more training options, run python train.py -h.

5. Citing GANomaly

If you use this repository or would like to refer the paper, please use the following BibTeX entry

@inproceedings{akcay2018ganomaly,
  title={Ganomaly: Semi-supervised anomaly detection via adversarial training},
  author={Akcay, Samet and Atapour-Abarghouei, Amir and Breckon, Toby P},
  booktitle={Asian Conference on Computer Vision},
  pages={622--637},
  year={2018},
  organization={Springer}
}

6. Reference

[1] Akcay S., Atapour-Abarghouei A., Breckon T.P. (2019) GANomaly: Semi-supervised Anomaly Detection via Adversarial Training. In: Jawahar C., Li H., Mori G., Schindler K. (eds) Computer Vision – ACCV 2018. ACCV 2018. Lecture Notes in Computer Science, vol 11363. Springer, Cham

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].