Official PyTorch implementation for the IMVIP 2019 paper: "Improving Unsupervised Learning with ExemplarCNNs"
- Download the STL-10 datset into ./data.
- Use "create_surrogate_classes_002.ipynb" to randomly select 16000 images from the unlabeled set from STL10.
- Use "create_surrogate_data_STL.py" to randomly crop and augment patches for each of the previously selected images.
- Use "./surrogate_dataset/splitting_data_small_val.py" to generate a validation and train set.
- Use "./training_scripts/exp083.py" to train a model.
- Extract features from teh testing sed using "./evaluation/extract_32x32_largeNet.py"
- Train linear SVMs on each predefined-fold with "./evaluation/eval_long.ipynb"
Algorithm | Accuracy (%) |
---|---|
ExemplarCNN (Dosovitsky et al., 2015) | 74.2 ± 0.4 |
ExemplarCNN (ours) | 74.14 ± 0.39 |
Clustering (ours) | 76.42 ± 0.35 |
(Dosovitsky et al., 2015) Dosovitskiy, A., Fischer, P., Springenberg, J. T., Riedmiller, M., and Brox, T. Discriminative unsupervised feature learning with exemplar convolutional neural networks. IEEE transactions onpattern analysis and machine intelligence.
@inproceedings{IMVIP2019_ImproveExemplarCNN,
title = {Improving Unsupervised Learning with ExemplarCNNs},
authors = {Eric Arazo and Noel E O'Connor and Kevin McGuinness},
booktitle = {Irish Machine Vision and Image Processing (IMVIP)},
month = {August},
year = {2019}
}