This is an unofficial PyTorch implementation of FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence. The official Tensorflow implementation is here.
This code is only available in FixMatch (RandAugment). This code is trying to add m pics to the supervise learning for every 100 epoch by finding the pics that never have a pl.
* Training using the following options --amp --opt_level O2 --wdecay 0.001
Train the model by 4000 labeled data of CIFAR-10 dataset:
python train.py --dataset cifar10 --num-labeled 4000 --arch wideresnet --batch-size 64 --lr 0.03 --expand-labels --seed 5 --out results/cifar10@4000.5
add --m for the how many pics want to add per 100 epoch.
Train the model by 10000 labeled data of CIFAR-100 dataset by using DistributedDataParallel:
python -m torch.distributed.launch --nproc_per_node 4 ./train.py --dataset cifar100 --num-labeled 10000 --arch wideresnet --batch-size 16 --lr 0.03 --wdecay 0.001 --expand-labels --seed 5 --out results/cifar100@10000
tensorboard --logdir=<your out_dir>
- python 3.6+
- torch 1.4
- torchvision 0.5
- tensorboard
- numpy
- tqdm
- apex (optional)
- Official TensorFlow implementation of FixMatch
- Unofficial PyTorch implementation of MixMatch
- Unofficial PyTorch Reimplementation of RandAugment
- PyTorch image models
@article{sohn2020fixmatch,
title={FixMatch: Simplifying Semi-Supervised Learning with Consistency and Confidence},
author={Kihyuk Sohn and David Berthelot and Chun-Liang Li and Zizhao Zhang and Nicholas Carlini and Ekin D. Cubuk and Alex Kurakin and Han Zhang and Colin Raffel},
journal={arXiv preprint arXiv:2001.07685},
year={2020},
}