This is an PyTorch implementation of SCOMatch (ECCV2024). This implementation is based on OpenMatch.
- python 3.6+
- torch 1.10
- torchvision 0.11.1
- wandb 0.15.8
- numpy
- tqdm
- sklearn
This repository needs CIFAR10, CIFAR100, TinyImageNet and ImageNet-30 to train a model.
- CIFAR10, CIFAR100 will be downloaded automatically.
- Follow CSI to prepare ImageNet-30.
mkdir data
ln -s path_to_each_dataset ./data/.
## unzip filelist for imagenet_30 experiments.
unzip files.zip
All datasets are supposed to be under ./data.
Please follow OpenMatch to set up the python environments.
Please use the scripts in ./scripts
for the experiments on each dataset.
This repository depends a lot on Pytorch-FixMatch and OpenMatch. Thanks for sharing the great code bases!
If you consider using this code or its derivatives, please consider citing:
@inproceedings{wang2024scomatch,
title={SCOMatch: Alleviating Overtrusting in Open-set Semi-supervised Learning},
author={Wang, Zerun and Xiang, Liuyu and Huang, Lang and Mao, Jiafeng and Xiao, Ling and Yamasaki, Toshihiko},
booktitle={European Conference on Computer Vision},
pages={217--233},
year={2024},
organization={Springer}
}