Это репо больше не поддерживается. Внедрение Ganomaly была добавлена в Anomalib, крупнейшую публичную коллекцию готовых к использованию алгоритмов обнаружения аномалий глубокого обучения и контрольных наборов данных.
Этот репозиторий содержит внедрение Pytorch следующей статьи: Ganomaly: полупрофильное обнаружение аномалий посредством состязательной тренировки [1]
git clone https://github.com/samet-akcay/ganomaly.git
conda create -n ganomaly python=3.7
conda activate ganomaly
conda install -c intel mkl_fft
pip install --user --requirement requirements.txt
Чтобы повторить результаты в статье для наборов данных MNIST и CIFAR10, запустите следующие команды:
# MNIST
sh experiments/run_mnist.sh
# CIFAR
sh experiments/run_cifar.sh # CIFAR10 Чтобы перечислить аргументы, запустите следующую команду:
python train.py -h
Чтобы обучить модель на наборе данных MNIST для данного класса аномалий, запустите следующее:
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
Чтобы обучить модель на наборе данных CIFAR10 для данного класса аномалии, запустите следующее:
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
Чтобы обучить модель на пользовательском наборе данных, набор данных должен быть скопирован в каталог ./data и должен иметь следующую каталог и структуру файла:
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
Тогда модельное обучение такое же, как и обучение наборов данных MNIST или CIFAR10, описанные выше.
python train.py
--dataset <name-of-the-data>
--isize <image-size>
--niter <number-of-epochs>
--display # optional if you want to visualize
Для получения дополнительных вариантов обучения запустите python train.py -h .
Если вы используете этот репозиторий или хотите направить статью, используйте следующую запись Bibtex
@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}
}
[1] Akcay S., Atapour-Abarghouei A., Breckon TP (2019) Ганомалия: полупроверенное обнаружение аномалий посредством состязательной тренировки. В: Jawahar C., Li H., Mori G., Schindler K. (Eds) Компьютерное зрение - ACCV 2018. ACCV 2018.